Deprecate maligned, add govet fieldalignment
as replacement (#1765)
This commit is contained in:
parent
326d715ba4
commit
42ff682f7f
@ -297,6 +297,7 @@ linters-settings:
|
|||||||
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
|
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
|
||||||
|
|
||||||
# enable or disable analyzers by name
|
# enable or disable analyzers by name
|
||||||
|
# run `go tool vet help` to see all analyzers
|
||||||
enable:
|
enable:
|
||||||
- atomicalign
|
- atomicalign
|
||||||
enable-all: false
|
enable-all: false
|
||||||
|
@ -15,6 +15,7 @@ import (
|
|||||||
_ "golang.org/x/tools/go/analysis/passes/ctrlflow" // unused, internal analyzer
|
_ "golang.org/x/tools/go/analysis/passes/ctrlflow" // unused, internal analyzer
|
||||||
"golang.org/x/tools/go/analysis/passes/deepequalerrors"
|
"golang.org/x/tools/go/analysis/passes/deepequalerrors"
|
||||||
"golang.org/x/tools/go/analysis/passes/errorsas"
|
"golang.org/x/tools/go/analysis/passes/errorsas"
|
||||||
|
"golang.org/x/tools/go/analysis/passes/fieldalignment"
|
||||||
"golang.org/x/tools/go/analysis/passes/findcall"
|
"golang.org/x/tools/go/analysis/passes/findcall"
|
||||||
"golang.org/x/tools/go/analysis/passes/httpresponse"
|
"golang.org/x/tools/go/analysis/passes/httpresponse"
|
||||||
"golang.org/x/tools/go/analysis/passes/ifaceassert"
|
"golang.org/x/tools/go/analysis/passes/ifaceassert"
|
||||||
@ -55,6 +56,7 @@ var (
|
|||||||
copylock.Analyzer,
|
copylock.Analyzer,
|
||||||
deepequalerrors.Analyzer,
|
deepequalerrors.Analyzer,
|
||||||
errorsas.Analyzer,
|
errorsas.Analyzer,
|
||||||
|
fieldalignment.Analyzer,
|
||||||
findcall.Analyzer,
|
findcall.Analyzer,
|
||||||
httpresponse.Analyzer,
|
httpresponse.Analyzer,
|
||||||
ifaceassert.Analyzer,
|
ifaceassert.Analyzer,
|
||||||
|
@ -238,7 +238,8 @@ func (m Manager) GetAllSupportedLinterConfigs() []*linter.Config {
|
|||||||
linter.NewConfig(golinters.NewMaligned()).
|
linter.NewConfig(golinters.NewMaligned()).
|
||||||
WithLoadForGoAnalysis().
|
WithLoadForGoAnalysis().
|
||||||
WithPresets(linter.PresetPerformance).
|
WithPresets(linter.PresetPerformance).
|
||||||
WithURL("https://github.com/mdempsky/maligned"),
|
WithURL("https://github.com/mdempsky/maligned").
|
||||||
|
Deprecated("The repository of the linter has been archived by the owner. Use govet 'fieldalignment' instead."),
|
||||||
linter.NewConfig(golinters.NewDepguard()).
|
linter.NewConfig(golinters.NewDepguard()).
|
||||||
WithLoadForGoAnalysis().
|
WithLoadForGoAnalysis().
|
||||||
WithPresets(linter.PresetStyle).
|
WithPresets(linter.PresetStyle).
|
||||||
|
57
test/testdata/govet_fieldalignment.go
vendored
Normal file
57
test/testdata/govet_fieldalignment.go
vendored
Normal 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
|
||||||
|
}
|
2
test/testdata/maligned.go
vendored
2
test/testdata/maligned.go
vendored
@ -1,4 +1,4 @@
|
|||||||
//args: -Emaligned
|
//args: -Emaligned --internal-cmd-test
|
||||||
package testdata
|
package testdata
|
||||||
|
|
||||||
type BadAlignedStruct struct { // ERROR "struct of size 24 bytes could be of size 16 bytes"
|
type BadAlignedStruct struct { // ERROR "struct of size 24 bytes could be of size 16 bytes"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user