]> Cypherpunks repositories - gostls13.git/commitdiff
- map composites should be of correct map type (instead of pointer type)
authorRobert Griesemer <gri@golang.org>
Fri, 12 Sep 2008 00:16:50 +0000 (17:16 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 12 Sep 2008 00:16:50 +0000 (17:16 -0700)
R=r
OCL=15180
CL=15180

test/bugs/bug098.go [new file with mode: 0644]
test/golden.out

diff --git a/test/bugs/bug098.go b/test/bugs/bug098.go
new file mode 100644 (file)
index 0000000..8e790a7
--- /dev/null
@@ -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]<int32>INT32)
+       (**MAP[<int32>INT32]<int32>INT32)
+*/
index 39273b2257649dab8c7966c26bb1a78d266e7aa6..f28a884a667b51d73caa4691ca3f8f89b9e7be78 100644 (file)
@@ -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]<int32>INT32)
+       (**MAP[<int32>INT32]<int32>INT32)
+BUG should compile
+
 =========== fixedbugs/bug015.go
 fixedbugs/bug015.go:7: overflow converting constant to <int64>INT64