1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
trait foo { fn foo() -> uint; } impl<T> ~[const T]: foo { fn foo() -> uint { vec::len(self) } } fn main() { let v = ~[const 0]; assert v.foo() == 1u; let v = ~[0]; assert v.foo() == 1u; let v = ~[mut 0]; assert v.foo() == 1u; }