]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/gc: test for issue 3552
authorLuuk van Dijk <lvd@golang.org>
Wed, 2 May 2012 14:56:26 +0000 (16:56 +0200)
committerLuuk van Dijk <lvd@golang.org>
Wed, 2 May 2012 14:56:26 +0000 (16:56 +0200)
R=rsc
CC=golang-dev
https://golang.org/cl/6128051

test/bugs/bug434.dir/one.go [new file with mode: 0644]
test/bugs/bug434.dir/two.go [new file with mode: 0644]
test/bugs/bug434.go [new file with mode: 0644]
test/fixedbugs/bug396.dir/one.go
test/golden.out

diff --git a/test/bugs/bug434.dir/one.go b/test/bugs/bug434.dir/one.go
new file mode 100644 (file)
index 0000000..491ada1
--- /dev/null
@@ -0,0 +1,28 @@
+// Copyright 2012 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 one
+
+// Issue 3552
+
+type T struct { int }
+
+func (t T) F() int { return t.int }
+
+type U struct { int int }
+
+func (u U) F() int { return u.int }
+
+type lint int
+
+type V struct { lint }
+
+func (v V) F() int { return int(v.lint) }
+
+type W struct { lint lint }
+
+func (w W) F() int { return int(w.lint) }
+
+
+
diff --git a/test/bugs/bug434.dir/two.go b/test/bugs/bug434.dir/two.go
new file mode 100644 (file)
index 0000000..1366d24
--- /dev/null
@@ -0,0 +1,22 @@
+// Copyright 2012 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.
+
+// Use the functions in one.go so that the inlined
+// forms get type-checked.
+
+package two
+
+import "./one"
+
+func use() {
+       var t one.T
+       var u one.U
+       var v one.V
+       var w one.W
+
+       _ = t.F()
+       _ = u.F()
+       _ = v.F()
+       _ = w.F()
+}
diff --git a/test/bugs/bug434.go b/test/bugs/bug434.go
new file mode 100644 (file)
index 0000000..65047fd
--- /dev/null
@@ -0,0 +1,7 @@
+// $G $D/$F.dir/one.go && $G $D/$F.dir/two.go || echo BUG:bug434
+
+// Copyright 2011 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 ignored
index 7902a07d535057966a1f9c558678666bc9b9396d..96a1dd7dc26ee9607a9cf40c3707300989e3170c 100644 (file)
@@ -4,6 +4,7 @@
 
 package one
 
+// Issue 2687
 type T struct { int }
 
 func New(i int) T { return T{i} }
index 376af8e53ccd68e13a3f8e37a9639c98e3e0ed3d..3e44e04c6aae814feb2f6c250598009124f92699 100644 (file)
@@ -22,3 +22,7 @@ throw: all goroutines are asleep - deadlock!
 
 =========== bugs/bug395.go
 bug395 is broken
+
+=========== bugs/bug434.go
+bugs/bug434.dir/two.go:10: one.t.int undefined (cannot refer to unexported field or method one.int)
+BUG:bug434