Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/librustc/lint/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ declare_lint! {

declare_lint! {
pub MATCH_OF_UNIT_VARIANT_VIA_PAREN_DOTDOT,
Warn,
Deny,
"unit struct or enum variant erroneously allowed to match via path::ident(..)"
}

Expand Down
20 changes: 9 additions & 11 deletions src/test/compile-fail/empty-struct-unit-pat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@

// aux-build:empty-struct.rs

#![feature(rustc_attrs)]
// remove prior feature after warning cycle and promoting warnings to errors
#![feature(braced_empty_structs)]

Expand All @@ -26,8 +25,7 @@ enum E {
}

// remove attribute after warning cycle and promoting warnings to errors
#[rustc_error]
fn main() { //~ ERROR: compilation successful
fn main() {
let e2 = Empty2;
let e4 = E::Empty4;
let xe2 = XEmpty2;
Expand All @@ -41,12 +39,12 @@ fn main() { //~ ERROR: compilation successful
// XEmpty2() => () // ERROR `XEmpty2` does not name a tuple variant or a tuple struct
// }
match e2 {
Empty2(..) => () //~ WARN `Empty2` does not name a tuple variant or a tuple struct
//~^ WARN hard error
Empty2(..) => () //~ ERROR `Empty2` does not name a tuple variant or a tuple struct
//~^ ERROR hard error
}
match xe2 {
XEmpty2(..) => () //~ WARN `XEmpty2` does not name a tuple variant or a tuple struct
//~^ WARN hard error
XEmpty2(..) => () //~ ERROR `XEmpty2` does not name a tuple variant or a tuple struct
//~^ ERROR hard error
}
// Rejected by parser as yet
// match e4 {
Expand All @@ -57,12 +55,12 @@ fn main() { //~ ERROR: compilation successful
// _ => {},
// }
match e4 {
E::Empty4(..) => () //~ WARN `E::Empty4` does not name a tuple variant or a tuple struct
//~^ WARN hard error
E::Empty4(..) => () //~ ERROR `E::Empty4` does not name a tuple variant or a tuple struct
//~^ ERROR hard error
}
match xe4 {
XE::XEmpty4(..) => (), //~ WARN `XE::XEmpty4` does not name a tuple variant or a tuple
//~^ WARN hard error
XE::XEmpty4(..) => (), //~ ERROR `XE::XEmpty4` does not name a tuple variant or a tuple
//~^ ERROR hard error
_ => {},
}
}
2 changes: 2 additions & 0 deletions src/test/run-pass/issue-pr29383.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

#![allow(match_of_unit_variant_via_paren_dotdot)]

enum E {
A,
B,
Expand Down