diff options
author | Russ Cox <rsc@golang.org> | 2010-02-16 17:44:15 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2010-02-16 17:44:15 -0800 |
commit | ddf70a14a9cee2844e802385fa0b2aca38fc7276 (patch) | |
tree | acd39b0d45037edc5f7cb5fcc05e164fe642f0b4 /test | |
parent | a13a873d179c011086d449ce0f28ce63e1bcc5b8 (diff) | |
download | go-ddf70a14a9cee2844e802385fa0b2aca38fc7276.tar.gz |
gc: undo attempt at fixing recursive interface embedding
Fixes issue 582.
Update issue 287
Status: Accepted
Bug fix was too intrusive; undo and reopen issue.
R=ken2
CC=golang-dev
http://codereview.appspot.com/209044
Diffstat (limited to 'test')
-rw-r--r-- | test/bugs/bug250.go (renamed from test/fixedbugs/bug250.go) | 0 | ||||
-rw-r--r-- | test/bugs/bug251.go (renamed from test/fixedbugs/bug251.go) | 0 | ||||
-rw-r--r-- | test/fixedbugs/bug195.go | 4 | ||||
-rw-r--r-- | test/fixedbugs/bug256.go | 16 | ||||
-rw-r--r-- | test/golden.out | 14 |
5 files changed, 32 insertions, 2 deletions
diff --git a/test/fixedbugs/bug250.go b/test/bugs/bug250.go index cd28642bf..cd28642bf 100644 --- a/test/fixedbugs/bug250.go +++ b/test/bugs/bug250.go diff --git a/test/fixedbugs/bug251.go b/test/bugs/bug251.go index f6365f1e6..f6365f1e6 100644 --- a/test/fixedbugs/bug251.go +++ b/test/bugs/bug251.go diff --git a/test/fixedbugs/bug195.go b/test/fixedbugs/bug195.go index 221a2eb09..27bbbd354 100644 --- a/test/fixedbugs/bug195.go +++ b/test/fixedbugs/bug195.go @@ -19,9 +19,9 @@ type I4 interface { } type I5 interface { - I6 // ERROR "interface" + I6 } type I6 interface { - I5 + I5 // ERROR "interface" } diff --git a/test/fixedbugs/bug256.go b/test/fixedbugs/bug256.go new file mode 100644 index 000000000..37fa5f5c8 --- /dev/null +++ b/test/fixedbugs/bug256.go @@ -0,0 +1,16 @@ +// errchk $G -e $D/$F.go + +// Copyright 2010 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package main + +type T U // bogus "invalid recursive type T" from 6g +type U int + +const x T = 123 + +type V V // ERROR "invalid recursive type" + + diff --git a/test/golden.out b/test/golden.out index cf2297e1a..22abf0c4b 100644 --- a/test/golden.out +++ b/test/golden.out @@ -150,3 +150,17 @@ throw: interface conversion panic PC=xxx == bugs/ + +=========== bugs/bug250.go +bugs/bug250.go:14: interface type loop involving I1 +bugs/bug250.go:17: need type assertion to use I2 as I1 + missing m() I2 +BUG: bug250 + +=========== bugs/bug251.go +BUG: errchk: bugs/bug251.go:11: missing expected error: 'loop|interface' +errchk: bugs/bug251.go: unmatched error messages: +================================================== +bugs/bug251.go:15: interface type loop involving I1 +bugs/bug251.go:19: need type assertion to use I2 as I1 +================================================== |