diff options
Diffstat (limited to 'tests/ui/methods/trait-method-resolution-over-inherent-22684.rs')
| -rw-r--r-- | tests/ui/methods/trait-method-resolution-over-inherent-22684.rs | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs b/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs new file mode 100644 index 00000000000..9f317b576e6 --- /dev/null +++ b/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs @@ -0,0 +1,19 @@ +// https://github.com/rust-lang/rust/issues/22684 +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 +} | 
