about summary refs log tree commit diff
path: root/tests/ui/methods/trait-method-resolution-over-inherent-22684.rs
blob: 9f317b576e69f60ec36d18260c405e3cce43bd74 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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
}