// Test for issue #57362, ensuring that the self ty is shown in cases of higher-ranked lifetimes // conflicts: the `expected` and `found` trait refs would otherwise be printed the same, leading // to confusing notes such as: // = note: expected type `Trait` // found type `Trait` // from issue #57362 trait Trait { fn f(self); } impl<T> Trait for fn(&T) { fn f(self) { println!("f"); } } fn f() { let a: fn(_) = |_: &u8| {}; a.f(); //~ ERROR no method named `f` } fn main() {}