| This test checks that variadic elimination does not cause a semantic change due | |
| to creation of a non-nil empty slice instead of a nil slice due to missing | |
| variadic arguments. | |
| -- go.mod -- | |
| module testdata | |
| go 1.12 | |
| -- foo/foo.go -- | |
| package foo | |
| import "fmt" | |
| func F(is ...int) { | |
| if is == nil { | |
| fmt.Println("is is nil") | |
| } else { | |
| fmt.Println("is is not nil") | |
| } | |
| } | |
| func G(is ...int) { F(is...) } | |
| func main() { | |
| G() //@ inline(re"G", G) | |
| } | |
| -- G -- | |
| package foo | |
| import "fmt" | |
| func F(is ...int) { | |
| if is == nil { | |
| fmt.Println("is is nil") | |
| } else { | |
| fmt.Println("is is not nil") | |
| } | |
| } | |
| func G(is ...int) { F(is...) } | |
| func main() { | |
| F() //@ inline(re"G", G) | |
| } |