]> Cypherpunks repositories - gostls13.git/commitdiff
Add a test for a case where 6g thinks that a field is visible
authorIan Lance Taylor <iant@golang.org>
Mon, 26 Jan 2009 17:59:59 +0000 (09:59 -0800)
committerIan Lance Taylor <iant@golang.org>
Mon, 26 Jan 2009 17:59:59 +0000 (09:59 -0800)
when it should not be.  I couldn't get this any simpler; the
error seems to have to do with the order of the imports in
bug2.go.

R=rsc
DELTA=26  (26 added, 0 deleted, 0 changed)
OCL=23450
CL=23482

test/bugs/bug133.dir/bug0.go [new file with mode: 0644]
test/bugs/bug133.dir/bug1.go [new file with mode: 0644]
test/bugs/bug133.dir/bug2.go [new file with mode: 0644]
test/bugs/bug133.go [new file with mode: 0644]
test/golden.out

diff --git a/test/bugs/bug133.dir/bug0.go b/test/bugs/bug133.dir/bug0.go
new file mode 100644 (file)
index 0000000..48cd104
--- /dev/null
@@ -0,0 +1,7 @@
+// 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 bug0
+
+type T struct { i int }
diff --git a/test/bugs/bug133.dir/bug1.go b/test/bugs/bug133.dir/bug1.go
new file mode 100644 (file)
index 0000000..2ab5447
--- /dev/null
@@ -0,0 +1,9 @@
+// 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 bug1
+
+import "bug0"
+
+type T struct { t bug0.T }
diff --git a/test/bugs/bug133.dir/bug2.go b/test/bugs/bug133.dir/bug2.go
new file mode 100644 (file)
index 0000000..bf39f2f
--- /dev/null
@@ -0,0 +1,16 @@
+// 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 bug1
+
+import "bug1"
+import "bug0"
+
+type T2 struct { t bug0.T }
+
+func fn(p *T2) int {
+       // This reference should be invalid, because bug0.T.i is local
+       // to package bug0 and should not be visible in package bug1.
+       return p.t.i
+}
diff --git a/test/bugs/bug133.go b/test/bugs/bug133.go
new file mode 100644 (file)
index 0000000..2beeb07
--- /dev/null
@@ -0,0 +1,7 @@
+// $G $D/$F.dir/bug0.go && $G $D/$F.dir/bug1.go && errchk $G $D/$F.dir/bug2.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.
+
+ignored
index 163242bc230e0779e8d48b4a394dc74ea4b1e4f6..c52f213823ff3896464c2eba67ab8af17a256052 100644 (file)
@@ -181,6 +181,9 @@ BUG: should not compile
 =========== bugs/bug132.go
 BUG: compilation succeeds incorrectly
 
+=========== bugs/bug133.go
+BUG: succeeds incorrectly
+
 =========== fixedbugs/bug016.go
 fixedbugs/bug016.go:7: overflow converting constant to uint