golangci-lint/test/testdata/interfacebloat.go
Sasha Melentyev 63b2fe0048
feat: add interfacebloat (#3024)
Co-authored-by: Fernandez Ludovic <ldez@users.noreply.github.com>
2022-08-21 14:05:41 +02:00

127 lines
1.7 KiB
Go

//golangcitest:args -Einterfacebloat
package testdata
import "time"
type InterfaceBloatExample01 interface { // want "the interface has more than 10 methods: 11"
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
a11()
}
func InterfaceBloatExample02() {
var _ interface { // want "the interface has more than 10 methods: 11"
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
a11()
}
}
func InterfaceBloatExample03() interface { // want "the interface has more than 10 methods: 11"
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
a11()
} {
return nil
}
type InterfaceBloatExample04 struct {
Foo interface { // want "the interface has more than 10 methods: 11"
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
a11()
}
}
type InterfaceBloatSmall01 interface {
a01() time.Duration
a02()
a03()
a04()
a05()
}
type InterfaceBloatSmall02 interface {
a06()
a07()
a08()
a09()
a10()
a11()
}
type InterfaceBloatExample05 interface {
InterfaceBloatSmall01
InterfaceBloatSmall02
}
type InterfaceBloatExample06 interface {
interface { // want "the interface has more than 10 methods: 11"
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
a11()
}
}
type InterfaceBloatTypeGeneric interface {
~uint8 | ~uint16 | ~uint32 | ~uint64 | uint |
~int8 | ~int16 | ~int32 | ~int64 | int |
~float32 | ~float64 |
~string
}
func InterfaceBloatExampleNoProblem() interface {
a01() time.Duration
a02()
a03()
a04()
a05()
a06()
a07()
a08()
a09()
a10()
} {
return nil
}