| // build-pass (FIXME(62277): could be check-pass?) |
| |
| #![allow(ellipsis_inclusive_range_patterns)] |
| #![allow(unreachable_patterns)] |
| #![allow(unused_variables)] |
| #![warn(unused_parens)] |
| |
| fn main() { |
| match 1 { |
| (_) => {} //~ WARNING: unnecessary parentheses around pattern |
| (y) => {} //~ WARNING: unnecessary parentheses around pattern |
| (ref r) => {} //~ WARNING: unnecessary parentheses around pattern |
| (e @ 1...2) => {} //~ WARNING: unnecessary parentheses around outer pattern |
| (1...2) => {} // Non ambiguous range pattern should not warn |
| e @ (3...4) => {} // Non ambiguous range pattern should not warn |
| } |
| |
| match &1 { |
| (e @ &(1...2)) => {} //~ WARNING: unnecessary parentheses around outer pattern |
| &(_) => {} //~ WARNING: unnecessary parentheses around pattern |
| e @ &(1...2) => {} // Ambiguous range pattern should not warn |
| &(1...2) => {} // Ambiguous range pattern should not warn |
| } |
| |
| match &1 { |
| e @ &(1...2) | e @ &(3...4) => {} // Complex ambiguous pattern should not warn |
| &_ => {} |
| } |
| |
| match 1 { |
| (_) => {} //~ WARNING: unnecessary parentheses around pattern |
| (y) => {} //~ WARNING: unnecessary parentheses around pattern |
| (ref r) => {} //~ WARNING: unnecessary parentheses around pattern |
| (e @ 1..=2) => {} //~ WARNING: unnecessary parentheses around outer pattern |
| (1..=2) => {} // Non ambiguous range pattern should not warn |
| e @ (3..=4) => {} // Non ambiguous range pattern should not warn |
| } |
| |
| match &1 { |
| (e @ &(1..=2)) => {} //~ WARNING: unnecessary parentheses around outer pattern |
| &(_) => {} //~ WARNING: unnecessary parentheses around pattern |
| e @ &(1..=2) => {} // Ambiguous range pattern should not warn |
| &(1..=2) => {} // Ambiguous range pattern should not warn |
| } |
| |
| match &1 { |
| e @ &(1..=2) | e @ &(3..=4) => {} // Complex ambiguous pattern should not warn |
| &_ => {} |
| } |
| } |