| //! Tests that a `Vec<isize>` can call a method defined in a trait (`Foo`) | |
| //! implemented for `&[isize]` with a by-value receiver (`self`), relying on auto-dereferencing | |
| //! from `Vec` to `&[isize]` during method resolution. | |
| //@ run-pass | |
| trait Foo { | |
| fn foo(self); | |
| } | |
| impl<'a> Foo for &'a [isize] { | |
| fn foo(self) {} | |
| } | |
| pub fn main() { | |
| let items = vec![ 3, 5, 1, 2, 4 ]; | |
| items.foo(); | |
| } |