Add a test for a case where 6g thinks that a field is visible
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
diff --git a/test/bugs/bug133.dir/bug0.go b/test/bugs/bug133.dir/bug0.go
new file mode 100644
index 0000000..48cd104
--- /dev/null
+++ b/test/bugs/bug133.dir/bug0.go
@@ -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
index 0000000..2ab5447
--- /dev/null
+++ b/test/bugs/bug133.dir/bug1.go
@@ -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
index 0000000..bf39f2f
--- /dev/null
+++ b/test/bugs/bug133.dir/bug2.go
@@ -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
index 0000000..2beeb07
--- /dev/null
+++ b/test/bugs/bug133.go
@@ -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