diff options
author | Robert Griesemer <gri@golang.org> | 2008-11-17 16:37:13 -0800 |
---|---|---|
committer | Robert Griesemer <gri@golang.org> | 2008-11-17 16:37:13 -0800 |
commit | 75fe9bda381b2818317b415a6d8888ba807c3456 (patch) | |
tree | b7b8456c0a5f98ef655424e6da764f041fa5412d | |
parent | 5ec5727e77750d1f1d8ba2480a0a98864dd9d3c4 (diff) | |
download | golang-75fe9bda381b2818317b415a6d8888ba807c3456.tar.gz |
- interface methods must have full function type
R=r
OCL=19410
CL=19410
-rw-r--r-- | test/bugs/bug121.go | 25 |
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); +} |