summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Griesemer <gri@golang.org>2008-11-17 16:37:13 -0800
committerRobert Griesemer <gri@golang.org>2008-11-17 16:37:13 -0800
commit75fe9bda381b2818317b415a6d8888ba807c3456 (patch)
treeb7b8456c0a5f98ef655424e6da764f041fa5412d
parent5ec5727e77750d1f1d8ba2480a0a98864dd9d3c4 (diff)
downloadgolang-75fe9bda381b2818317b415a6d8888ba807c3456.tar.gz
- interface methods must have full function type
R=r OCL=19410 CL=19410
-rw-r--r--test/bugs/bug121.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/bugs/bug121.go b/test/bugs/bug121.go
new file mode 100644
index 000000000..cc960e318
--- /dev/null
+++ b/test/bugs/bug121.go
@@ -0,0 +1,25 @@
+// errchk $G $D/$F.go
+
+// Copyright 2009 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 ()
+
+type I interface {
+ f, g ();
+ h T; // should only allow FunctionType here
+}
+
+type S struct {
+}
+
+func (s *S) f() {}
+func (s *S) g() {}
+func (s *S) h() {} // here we can't write (s *S) T either
+
+func main() {
+ var i I = new(S);
+}