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}"
|
|
}
|