rust/tests/ui/autoref-autoderef/autoderef-vec-to-slice-by-value.rs
2025-06-03 07:38:06 +05:00

19 lines
402 B
Rust

//! 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();
}