summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2010-02-16 17:44:15 -0800
committerRuss Cox <rsc@golang.org>2010-02-16 17:44:15 -0800
commitddf70a14a9cee2844e802385fa0b2aca38fc7276 (patch)
treeacd39b0d45037edc5f7cb5fcc05e164fe642f0b4 /test
parenta13a873d179c011086d449ce0f28ce63e1bcc5b8 (diff)
downloadgo-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.go4
-rw-r--r--test/fixedbugs/bug256.go16
-rw-r--r--test/golden.out14
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
+==================================================