mirror of https://github.com/rust-lang/rust
55 lines
1.4 KiB
Rust
55 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`
|
|
_ => {},
|
|
}
|
|
}
|