}
trait ImmutableVector<T> {
+ pure fn view(start: uint, end: uint) -> &[T];
pure fn foldr<U: Copy>(z: U, p: fn(T, U) -> U) -> U;
- pure fn iter(f: fn(T));
- pure fn iteri(f: fn(uint, T));
- pure fn riter(f: fn(T));
- pure fn riteri(f: fn(uint, T));
- pure fn map<U>(f: fn(T) -> U) -> ~[U];
- pure fn mapi<U>(f: fn(uint, T) -> U) -> ~[U];
+ pure fn map<U>(f: fn(v: &T) -> U) -> ~[U];
+ pure fn mapi<U>(f: fn(uint, v: &T) -> U) -> ~[U];
fn map_r<U>(f: fn(x: &T) -> U) -> ~[U];
pure fn alli(f: fn(uint, T) -> bool) -> bool;
pure fn flat_map<U>(f: fn(T) -> ~[U]) -> ~[U];