summaryrefslogtreecommitdiffstats
path: root/test/fixedbugs/bug367.dir
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/fixedbugs/bug367.dir/p.go19
-rw-r--r--test/fixedbugs/bug367.dir/prog.go28
2 files changed, 47 insertions, 0 deletions
diff --git a/test/fixedbugs/bug367.dir/p.go b/test/fixedbugs/bug367.dir/p.go
new file mode 100644
index 0000000..2028f74
--- /dev/null
+++ b/test/fixedbugs/bug367.dir/p.go
@@ -0,0 +1,19 @@
+// Copyright 2011 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 p
+
+type T struct{ x int }
+type S struct{}
+
+func (p *S) get() {
+}
+
+type I interface {
+ get()
+}
+
+func F(i I) {
+ i.get()
+}
diff --git a/test/fixedbugs/bug367.dir/prog.go b/test/fixedbugs/bug367.dir/prog.go
new file mode 100644
index 0000000..c278e4d
--- /dev/null
+++ b/test/fixedbugs/bug367.dir/prog.go
@@ -0,0 +1,28 @@
+// Copyright 2011 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
+
+import (
+ "./p"
+)
+
+type T struct{ *p.S }
+type I interface {
+ get()
+}
+
+func main() {
+ var t T
+ p.F(t)
+ var x interface{} = t
+ _, ok := x.(I)
+ if ok {
+ panic("should not satisfy main.I")
+ }
+ _, ok = x.(p.I)
+ if !ok {
+ panic("should satisfy p.I")
+ }
+}