15 lines
		
	
	
		
			463 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			15 lines
		
	
	
		
			463 B
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| pub type Iterator<T> |backing: &Any| = mut fn () -> Option<&T ref backing>
 | |
| 
 | |
| pub int Iterable<T> {
 | |
|     ref fn iterator() -> Iterator<T>(&self)
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
|     let nums: List<Int> = [1, 2, 3]
 | |
|     let iterator: Iterator<Int> |backing = nums| = nums.iterator()
 | |
|     let first: &Int ref nums = iterator().unwrap()
 | |
|     let second: &Int ref nums = iterator().unwrap()
 | |
|     let third: &Int ref nums = iterator().unwrap()
 | |
|     println "${*first}, ${*second}, ${*third}"
 | |
| }
 | 
