// run // 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 methods on slices. 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") } }