rust/src/test/ui/empty/empty-struct-unit-pat.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

54 lines
1.4 KiB
Rust

// Can't use unit struct as tuple struct pattern
// aux-build:empty-struct.rs
extern crate empty_struct;
use empty_struct::*;
struct Empty2;
enum E {
Empty4
}
fn main() {
let e2 = Empty2;
let e4 = E::Empty4;
let xe2 = XEmpty2;
let xe4 = XE::XEmpty4;
match e2 {
Empty2() => () //~ ERROR expected tuple struct or tuple variant, found unit struct `Empty2`
}
match xe2 {
XEmpty2() => ()
//~^ ERROR expected tuple struct or tuple variant, found unit struct `XEmpty2`
}
match e2 {
Empty2(..) => ()
//~^ ERROR expected tuple struct or tuple variant, found unit struct `Empty2`
}
match xe2 {
XEmpty2(..) => ()
//~^ ERROR expected tuple struct or tuple variant, found unit struct `XEmpty2`
}
match e4 {
E::Empty4() => ()
//~^ ERROR expected tuple struct or tuple variant, found unit variant `E::Empty4`
}
match xe4 {
XE::XEmpty4() => (),
//~^ ERROR expected tuple struct or tuple variant, found unit variant `XE::XEmpty4`
_ => {},
}
match e4 {
E::Empty4(..) => ()
//~^ ERROR expected tuple struct or tuple variant, found unit variant `E::Empty4`
}
match xe4 {
XE::XEmpty4(..) => (),
//~^ ERROR expected tuple struct or tuple variant, found unit variant `XE::XEmpty4`
_ => {},
}
}