@@ -22,6 +22,36 @@ func functionLiterals() {
22
22
_ = func (x int , y int ) int { return add (x , y ) }
23
23
}
24
24
25
+ func variadicInt (xs ... int ) int { return 0 }
26
+
27
+ func variadicTest () {
28
+ _ = func (x int ) int { return variadicInt (x ) }
29
+ _ = func (x int ) int { return variadicInt (x , 1 ) }
30
+ _ = func (x , y int ) int { return variadicInt (x , y ) }
31
+ _ = func (x , y int ) int { return variadicInt (x ) }
32
+
33
+ /*! replace `func(xs ...int) int { return variadicInt(xs...) }` with `variadicInt` */
34
+ _ = func (xs ... int ) int { return variadicInt (xs ... ) }
35
+
36
+ _ = func (x int , ys ... int ) int { return variadicInt (1 , 2 ) }
37
+ _ = func (x int , y int , _ ... int ) int { return variadicInt (x , y ) }
38
+ }
39
+
40
+ func variadicInterfaces (x int , y interface {}, ys ... interface {}) int { return 0 }
41
+
42
+ func TestSomething () {
43
+ // See #991
44
+ _ = func (x int , y interface {}, _ ... interface {}) int {
45
+ return variadicInterfaces (x , y )
46
+ }
47
+ _ = func (x int , y interface {}, _ ... interface {}) int {
48
+ return variadicInterfaces (x , y , 5 , "?" )
49
+ }
50
+
51
+ /*! replace `func(x int, y interface{}, zs ...interface{}) int { return variadicInterfaces(x, y, zs...) }` with `variadicInterfaces` */
52
+ _ = func (x int , y interface {}, zs ... interface {}) int { return variadicInterfaces (x , y , zs ... ) }
53
+ }
54
+
25
55
type object struct {}
26
56
27
57
func (object ) returnInt (x int ) int { return x }
0 commit comments