From 7734ad517905167451446042fb5954cf4936c8e9 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 29 Jul 2010 10:54:03 -0700 Subject: [PATCH] bug299: parenthesized receiver types/anonymous fields are illegal R=r CC=golang-dev https://golang.org/cl/1846051 --- test/bugs/bug299.go | 27 +++++++++++++++++++++++++++ test/golden.out | 9 +++++++++ 2 files changed, 36 insertions(+) create mode 100644 test/bugs/bug299.go diff --git a/test/bugs/bug299.go b/test/bugs/bug299.go new file mode 100644 index 0000000000..d455540c65 --- /dev/null +++ b/test/bugs/bug299.go @@ -0,0 +1,27 @@ +// errchk $G $D/$F.go + +// Copyright 2010 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 struct { + // accepted by both compilers, legal according to spec + x int + y (int) + int + *float + // not accepted by both compilers, not legal according to spec + (complex) // ERROR "non-declaration|expected" + (*string) // ERROR "non-declaration|expected" + *(bool) // ERROR "non-declaration|expected" +} + +// accepted by both compilers, legal according to spec +func (p T) m() {} + +// accepted by 6g, not accepted by gccgo, not legal according to spec +func (p (T)) f() {} // ERROR "expected" +func (p *(T)) g() {} // ERROR "expected" +func (p (*T)) h() {} // ERROR "expected" diff --git a/test/golden.out b/test/golden.out index 49bca4b874..25dbc914bb 100644 --- a/test/golden.out +++ b/test/golden.out @@ -177,3 +177,12 @@ panic PC=xxx =========== bugs/bug260.go FAIL BUG: bug260 failed + +=========== bugs/bug299.go +BUG: errchk: bugs/bug299.go:25: missing expected error: 'expected' +errchk: bugs/bug299.go:26: missing expected error: 'expected' +errchk: bugs/bug299.go:27: missing expected error: 'expected' +errchk: bugs/bug299.go: unmatched error messages: +================================================== +bugs/bug299.go:19: syntax error: unexpected } +================================================== -- 2.48.1