1 #![feature(exclusive_range_pattern)]
2 #![deny(overlapping_patterns)]
5 ($s:expr, $t1:pat, $t2:pat) => {
15 m!(0u8, 20..=30, 30..=40); //~ ERROR multiple patterns covering the same range
16 m!(0u8, 30..=40, 20..=30); //~ ERROR multiple patterns covering the same range
17 m!(0u8, 20..=30, 31..=40);
18 m!(0u8, 20..=30, 29..=40);
19 m!(0u8, 20.. 30, 29..=40); //~ ERROR multiple patterns covering the same range
20 m!(0u8, 20.. 30, 28..=40);
21 m!(0u8, 20.. 30, 30..=40);
22 m!(0u8, 20..=30, 30..=30);
23 m!(0u8, 20..=30, 30..=31); //~ ERROR multiple patterns covering the same range
24 m!(0u8, 20..=30, 29..=30);
25 m!(0u8, 20..=30, 20..=20);
26 m!(0u8, 20..=30, 20..=21);
27 m!(0u8, 20..=30, 19..=20); //~ ERROR multiple patterns covering the same range
32 m!(0u8, 20, 20..=30); //~ ERROR multiple patterns covering the same range
34 m!(0u8, 30, 20..=30); //~ ERROR multiple patterns covering the same range
38 (10..20, true) => {} // not detected
44 (true, 10..20) => {} //~ ERROR multiple patterns covering the same range
50 Some(10..20) => {} //~ ERROR multiple patterns covering the same range