rust/src/test/ui/methods/method-path-in-pattern.rs
Esteban Küber b26ddb8af3 Point at local similarly named element and tweak references to variants
Point at the span for the definition of ADTs internal to the current
crate.

Look at the leading char of the ident to determine whether we're
expecting a likely fn or any of a fn, a tuple struct or a tuple variant.

Turn fn `add_typo_suggestion` into a `Resolver` method.
2019-10-27 11:50:43 -07:00

32 lines
932 B
Rust

struct Foo;
impl Foo {
fn bar(&self) {}
}
trait MyTrait {
fn trait_bar() {}
}
impl MyTrait for Foo {}
fn main() {
match 0u32 {
Foo::bar => {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::bar`
}
match 0u32 {
<Foo>::bar => {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::bar`
}
match 0u32 {
<Foo>::trait_bar => {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::trait_bar`
}
if let Foo::bar = 0u32 {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::bar`
if let <Foo>::bar = 0u32 {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::bar`
if let Foo::trait_bar = 0u32 {}
//~^ ERROR expected unit struct, unit variant or constant, found method `<Foo>::trait_bar`
}