| // $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 { | 
 | 		println("i.Len", i.Len()) | 
 | 		panic("fail") | 
 | 	} | 
 | 	if T.Len(t) != 5 { | 
 | 		println("T.Len", T.Len(t)) | 
 | 		panic("fail") | 
 | 	} | 
 | 	if (*T).Len(&t) != 5 { | 
 | 		println("(*T).Len", (*T).Len(&t)) | 
 | 		panic("fail") | 
 | 	} | 
 | } |