github.com/chenfeining/golangci-lint@v1.0.2-0.20230730162517-14c6c67868df/test/testdata/interfacebloat.go (about) 1 //golangcitest:args -Einterfacebloat 2 package testdata 3 4 import "time" 5 6 type InterfaceBloatExample01 interface { // want "the interface has more than 10 methods: 11" 7 a01() time.Duration 8 a02() 9 a03() 10 a04() 11 a05() 12 a06() 13 a07() 14 a08() 15 a09() 16 a10() 17 a11() 18 } 19 20 func InterfaceBloatExample02() { 21 var _ interface { // want "the interface has more than 10 methods: 11" 22 a01() time.Duration 23 a02() 24 a03() 25 a04() 26 a05() 27 a06() 28 a07() 29 a08() 30 a09() 31 a10() 32 a11() 33 } 34 } 35 36 func InterfaceBloatExample03() interface { // want "the interface has more than 10 methods: 11" 37 a01() time.Duration 38 a02() 39 a03() 40 a04() 41 a05() 42 a06() 43 a07() 44 a08() 45 a09() 46 a10() 47 a11() 48 } { 49 return nil 50 } 51 52 type InterfaceBloatExample04 struct { 53 Foo interface { // want "the interface has more than 10 methods: 11" 54 a01() time.Duration 55 a02() 56 a03() 57 a04() 58 a05() 59 a06() 60 a07() 61 a08() 62 a09() 63 a10() 64 a11() 65 } 66 } 67 68 type InterfaceBloatSmall01 interface { 69 a01() time.Duration 70 a02() 71 a03() 72 a04() 73 a05() 74 } 75 76 type InterfaceBloatSmall02 interface { 77 a06() 78 a07() 79 a08() 80 a09() 81 a10() 82 a11() 83 } 84 85 type InterfaceBloatExample05 interface { 86 InterfaceBloatSmall01 87 InterfaceBloatSmall02 88 } 89 90 type InterfaceBloatExample06 interface { 91 interface { // want "the interface has more than 10 methods: 11" 92 a01() time.Duration 93 a02() 94 a03() 95 a04() 96 a05() 97 a06() 98 a07() 99 a08() 100 a09() 101 a10() 102 a11() 103 } 104 } 105 106 type InterfaceBloatTypeGeneric interface { 107 ~uint8 | ~uint16 | ~uint32 | ~uint64 | uint | 108 ~int8 | ~int16 | ~int32 | ~int64 | int | 109 ~float32 | ~float64 | 110 ~string 111 } 112 113 func InterfaceBloatExampleNoProblem() interface { 114 a01() time.Duration 115 a02() 116 a03() 117 a04() 118 a05() 119 a06() 120 a07() 121 a08() 122 a09() 123 a10() 124 } { 125 return nil 126 }