//! Tests that a `Vec` 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(); }