From 3cd7e431821b14c199fa44e33b659c6f5cefd336 Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 11 Sep 2008 17:16:50 -0700 Subject: [PATCH] - map composites should be of correct map type (instead of pointer type) R=r OCL=15180 CL=15180 --- test/bugs/bug098.go | 22 ++++++++++++++++++++++ test/golden.out | 6 ++++++ 2 files changed, 28 insertions(+) create mode 100644 test/bugs/bug098.go diff --git a/test/bugs/bug098.go b/test/bugs/bug098.go new file mode 100644 index 0000000000..8e790a709a --- /dev/null +++ b/test/bugs/bug098.go @@ -0,0 +1,22 @@ +// $G $D/$F.go || echo BUG should compile + +// 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 A []int; +type M map[int] int; + +func main() { + var a *A = &A{0}; + var m *M = &M{0 : 0}; // should be legal to use & here for consistency with other composite constructors (prev. line) +} + +/* +uetli:~/Source/go1/test/bugs gri$ 6g bug098.go && 6l bug098.6 && 6.out +bug098.go:10: illegal types for operand: AS + (*MAP[INT32]INT32) + (**MAP[INT32]INT32) +*/ diff --git a/test/golden.out b/test/golden.out index 39273b2257..f28a884a66 100644 --- a/test/golden.out +++ b/test/golden.out @@ -165,6 +165,12 @@ panic on line 344 PC=0x13c2 BUG wrong result Trace/BPT trap ./$A.out +=========== bugs/bug098.go +bugs/bug098.go:10: illegal types for operand: AS + (*MAP[INT32]INT32) + (**MAP[INT32]INT32) +BUG should compile + =========== fixedbugs/bug015.go fixedbugs/bug015.go:7: overflow converting constant to INT64 -- 2.48.1