complain when trying to put T into an interface
if T has pointer methods. this is just a heuristic
but it catches the problem robert ran into and
lets me put the larger interface issues aside for
now. found one bug in pretty.
R=ken
OCL=26141
CL=26141
diff --git a/test/golden.out b/test/golden.out
index 5dfe195..181da52 100644
--- a/test/golden.out
+++ b/test/golden.out
@@ -64,10 +64,6 @@
pc: xxx
-=========== ./interface6.go
-failure in f4 i
-BUG interface6
-
=========== ./peano.go
0! = 1
1! = 1
diff --git a/test/interface4.go b/test/interface4.go
index a55936d..68c5efa 100644
--- a/test/interface4.go
+++ b/test/interface4.go
@@ -35,11 +35,11 @@
var smallptr SmallPtr = SmallPtr{ 12345 };
var intptr IntPtr = 12345;
- test("bigptr", bigptr);
+// test("bigptr", bigptr);
test("&bigptr", &bigptr);
- test("smallptr", smallptr);
+// test("smallptr", smallptr);
test("&smallptr", &smallptr);
- test("intptr", intptr);
+// test("intptr", intptr);
test("&intptr", &intptr);
}
diff --git a/test/interface6.go b/test/interface6.go
index 6053e51..8bfcdf0 100644
--- a/test/interface6.go
+++ b/test/interface6.go
@@ -49,13 +49,13 @@
func (p *S2) Get() int { return p.i }
func (p *S2) Put(i int) { p.i = i }
-func f4() {
- s := S2{1};
- var i I1 = s;
- i.Put(2);
- check(i.Get() == 2, "f4 i");
- check(s.i == 1, "f4 s");
-}
+// func f4() {
+// s := S2{1};
+// var i I1 = s;
+// i.Put(2);
+// check(i.Get() == 2, "f4 i");
+// check(s.i == 1, "f4 s");
+// }
func f5() {
s := S2{1};
@@ -107,13 +107,13 @@
func (p *S4) Get() int64 { return p.l }
func (p *S4) Put(i int64) { p.l = i }
-func f10() {
- s := S4{1, 2, 3, 4};
- var i I2 = s;
- i.Put(5);
- check(i.Get() == 5, "f10 i");
- check(s.l == 4, "f10 s");
-}
+// func f10() {
+// s := S4{1, 2, 3, 4};
+// var i I2 = s;
+// i.Put(5);
+// check(i.Get() == 5, "f10 i");
+// check(s.l == 4, "f10 s");
+// }
func f11() {
s := S4{1, 2, 3, 4};
@@ -135,13 +135,13 @@
f1();
f2();
f3();
- f4();
+// f4();
f5();
f6();
f7();
f8();
f9();
- f10();
+// f10();
f11();
f12();
if fail > 0 {