Deprecate maligned, add govet fieldalignment as replacement (#1765)

This commit is contained in:
Ludovic Fernandez 2021-02-22 17:46:27 +01:00 committed by GitHub
parent 326d715ba4
commit 42ff682f7f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 63 additions and 2 deletions

57
test/testdata/govet_fieldalignment.go vendored Normal file
View file

@ -0,0 +1,57 @@
//args: -Egovet
//config: linters-settings.govet.enable=fieldalignment
package testdata
type gvfaGood struct {
y int32
x byte
z byte
}
type gvfaBad struct { // ERROR "struct of size 12 could be 8"
x byte
y int32
z byte
}
type gvfaPointerGood struct {
P *int
buf [1000]uintptr
}
type gvfaPointerBad struct { // ERROR "struct with 8008 pointer bytes could be 8"
buf [1000]uintptr
P *int
}
type gvfaPointerSorta struct {
a struct {
p *int
q uintptr
}
b struct {
p *int
q [2]uintptr
}
}
type gvfaPointerSortaBad struct { // ERROR "struct with 32 pointer bytes could be 24"
a struct {
p *int
q [2]uintptr
}
b struct {
p *int
q uintptr
}
}
type gvfaZeroGood struct {
a [0]byte
b uint32
}
type gvfaZeroBad struct { // ERROR "struct of size 8 could be 4"
a uint32
b [0]byte
}

View file

@ -1,4 +1,4 @@
//args: -Emaligned
//args: -Emaligned --internal-cmd-test
package testdata
type BadAlignedStruct struct { // ERROR "struct of size 24 bytes could be of size 16 bytes"