From: Ian Lance Taylor Date: Wed, 1 Feb 2012 23:24:15 +0000 (-0800) Subject: test: test append with two different named types with same element type X-Git-Tag: weekly.2012-02-07~139 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3692726f32f4cff4429e893830871d9b50b9816b;p=gostls13.git test: test append with two different named types with same element type R=golang-dev, gri CC=golang-dev https://golang.org/cl/5615045 --- diff --git a/test/append.go b/test/append.go index e178f46990..10ce2a613a 100644 --- a/test/append.go +++ b/test/append.go @@ -27,6 +27,7 @@ func main() { } verifyStruct() verifyInterface() + verifyType() } @@ -230,3 +231,17 @@ func verifyInterface() { verify("interface l", append(s), s) verify("interface m", append(s, e...), r) } + +type T1 []int +type T2 []int + +func verifyType() { + // The second argument to append has type []E where E is the + // element type of the first argument. Test that the compiler + // accepts two slice types that meet that requirement but are + // not assignment compatible. The return type of append is + // the type of the first argument. + t1 := T1{1} + t2 := T2{2} + verify("T1", append(t1, t2...), T1{1, 2}) +}