From: Ian Lance Taylor Date: Wed, 7 Mar 2012 16:24:10 +0000 (-0800) Subject: test: add inherited interface test to ddd.go X-Git-Tag: weekly.2012-03-13~140 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=e54ad64ff346281b707c75c72566b63080864dcf;p=gostls13.git test: add inherited interface test to ddd.go The gccgo compiler incorrectly gave an error for this code. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5767043 --- diff --git a/test/ddd.go b/test/ddd.go index f35836331b..3b595b5f8d 100644 --- a/test/ddd.go +++ b/test/ddd.go @@ -60,6 +60,10 @@ type U struct { *T } +type I interface { + Sum(...int) int +} + func main() { if x := sum(1, 2, 3); x != 6 { println("sum 6", x) @@ -207,6 +211,14 @@ func main() { println("i(=u).Sum", x) panic("fail") } + var s struct { + I + } + s.I = &u + if x := s.Sum(2, 3, 5, 8); x != 18 { + println("s{&u}.Sum", x) + panic("fail") + } /* TODO(rsc): Enable once nested method expressions work. if x := (*U).Sum(&U{}, 1, 3, 5, 2); x != 11 { println("(*U).Sum", x)