From d58cd7626e8abf1d0e691bf169d06b17b1a53cef Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Mon, 17 Nov 2008 16:37:13 -0800 Subject: [PATCH] - interface methods must have full function type R=r OCL=19410 CL=19410 --- test/bugs/bug121.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 test/bugs/bug121.go diff --git a/test/bugs/bug121.go b/test/bugs/bug121.go new file mode 100644 index 0000000000..cc960e318c --- /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); +} -- 2.48.1