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