| 
									
										
										
										
											2012-02-18 22:15:42 +01:00
										 |  |  | // run | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | // 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. | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-02-23 18:47:26 +11:00
										 |  |  | // Test methods on slices. | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | package main | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-24 16:46:53 -07:00
										 |  |  | type T []int | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | func (t T) Len() int { return len(t) } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-01-20 14:40:40 -08:00
										 |  |  | type I interface { | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | 	Len() int | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func main() { | 
					
						
							| 
									
										
										
										
											2010-03-24 16:46:53 -07:00
										 |  |  | 	var t T = T{0, 1, 2, 3, 4} | 
					
						
							|  |  |  | 	var i I | 
					
						
							|  |  |  | 	i = t | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | 	if i.Len() != 5 { | 
					
						
							| 
									
										
										
										
											2010-03-24 16:46:53 -07:00
										 |  |  | 		println("i.Len", i.Len()) | 
					
						
							|  |  |  | 		panic("fail") | 
					
						
							| 
									
										
										
										
											2009-12-18 17:24:58 -08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	if T.Len(t) != 5 { | 
					
						
							| 
									
										
										
										
											2010-03-24 16:46:53 -07:00
										 |  |  | 		println("T.Len", T.Len(t)) | 
					
						
							|  |  |  | 		panic("fail") | 
					
						
							| 
									
										
										
										
											2009-12-18 17:24:58 -08:00
										 |  |  | 	} | 
					
						
							|  |  |  | 	if (*T).Len(&t) != 5 { | 
					
						
							| 
									
										
										
										
											2010-03-24 16:46:53 -07:00
										 |  |  | 		println("(*T).Len", (*T).Len(&t)) | 
					
						
							|  |  |  | 		panic("fail") | 
					
						
							| 
									
										
										
										
											2009-01-08 18:06:06 -08:00
										 |  |  | 	} | 
					
						
							|  |  |  | } |