1
0
mirror of https://github.com/golang/go synced 2024-11-11 22:20:22 -07:00

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
This commit is contained in:
Ian Lance Taylor 2009-01-26 09:59:59 -08:00
parent a7f6d4066e
commit 2a4f4dd842
5 changed files with 42 additions and 0 deletions

View File

@ -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 }

View File

@ -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 }

View File

@ -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
}

7
test/bugs/bug133.go Normal file
View File

@ -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

View 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