impl extensions for ~[const T] { 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; }