second pass on interface fixes and tests.

R=ken
OCL=22370
CL=22372
diff --git a/test/method3.go b/test/method3.go
new file mode 100644
index 0000000..491bcda
--- /dev/null
+++ b/test/method3.go
@@ -0,0 +1,25 @@
+// $G $D/$F.go && $L $F.$A && ./$A.out || echo BUG method3
+
+// 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.
+
+// test that methods on slices work
+
+package main
+
+type T [] int
+func (t T) Len() int { return len(t) }
+
+type I interface {
+	Len() int
+}
+
+func main() {
+	var t T = T{0,1,2,3,4};
+	var i I;
+	i = t;
+	if i.Len() != 5 {
+		panicln("length", i.Len());
+	}
+}