1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
mod foo { pub struct Foo; impl Foo { fn bar(&self) {} } pub trait Baz { fn bar(&self) -> bool { true } } impl Baz for Foo {} } fn main() { use foo::Baz; // Check that `bar` resolves to the trait method, not the inherent impl method. let _: () = foo::Foo.bar(); //~ ERROR mismatched types }