1 // Copyright 2018 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
13 #![allow(unreachable_patterns)]
14 #![allow(unused_variables)]
15 #![warn(unused_parens)]
19 (_) => {} //~ WARNING: unnecessary parentheses around pattern
20 (y) => {} //~ WARNING: unnecessary parentheses around pattern
21 (ref r) => {} //~ WARNING: unnecessary parentheses around pattern
22 (e @ 1..=2) => {} //~ WARNING: unnecessary parentheses around outer pattern
23 (1..=2) => {} // Non ambiguous range pattern should not warn
24 e @ (3..=4) => {} // Non ambiguous range pattern should not warn
28 (e @ &(1...2)) => {} //~ WARNING: unnecessary parentheses around outer pattern
29 &(_) => {} //~ WARNING: unnecessary parentheses around pattern
30 e @ &(1...2) => {} // Ambiguous range pattern should not warn
31 &(1..=2) => {} // Ambiguous range pattern should not warn
35 e @ &(1...2) | e @ &(3..=4) => {} // Complex ambiguous pattern should not warn