]> Cypherpunks repositories - gostls13.git/commitdiff
gc: add test case for issue 1743
authorRuss Cox <rsc@golang.org>
Sat, 11 Feb 2012 04:20:00 +0000 (23:20 -0500)
committerRuss Cox <rsc@golang.org>
Sat, 11 Feb 2012 04:20:00 +0000 (23:20 -0500)
Fixes #1743.
(Actually was fixed earlier, but now we have proof.)

R=ken2
CC=golang-dev
https://golang.org/cl/5649064

test/fixedbugs/bug414.dir/main.go [new file with mode: 0644]
test/fixedbugs/bug414.dir/p1.go [new file with mode: 0644]
test/fixedbugs/bug414.go [new file with mode: 0644]

diff --git a/test/fixedbugs/bug414.dir/main.go b/test/fixedbugs/bug414.dir/main.go
new file mode 100644 (file)
index 0000000..5200123
--- /dev/null
@@ -0,0 +1,18 @@
+// Copyright 2012 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 "./p1"
+       
+         type MyObject struct {
+           p1.Fer
+         }
+       
+         func main() {
+           var b p1.Fer = &p1.Object{}
+           p1.PrintFer(b)
+           var c p1.Fer = &MyObject{b}
+           p1.PrintFer(c)
+         }
diff --git a/test/fixedbugs/bug414.dir/p1.go b/test/fixedbugs/bug414.dir/p1.go
new file mode 100644 (file)
index 0000000..7768818
--- /dev/null
@@ -0,0 +1,21 @@
+// Copyright 2012 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 p1
+       
+         import "fmt"
+       
+         type Fer interface {
+           f() string
+         }
+       
+         type Object struct {}
+       
+         func (this *Object) f() string {
+           return "Object.f"
+         }
+       
+         func PrintFer(fer Fer) {
+           fmt.Sprintln(fer.f())
+         }
diff --git a/test/fixedbugs/bug414.go b/test/fixedbugs/bug414.go
new file mode 100644 (file)
index 0000000..8824b1a
--- /dev/null
@@ -0,0 +1,7 @@
+// $G $D/$F.dir/p1.go && $G $D/$F.dir/main.go && $L main.$A && ./$A.out
+
+// Copyright 2012 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 ignored