]> git.lizzy.rs Git - rust.git/blob - tests/ui/match_overlapping_arm.rs
Auto merge of #68717 - petrochenkov:stabexpat, r=varkor
[rust.git] / tests / ui / match_overlapping_arm.rs
1 #![feature(exclusive_range_pattern)]
2 #![feature(half_open_range_patterns)]
3 #![warn(clippy::match_overlapping_arm)]
4 #![allow(clippy::redundant_pattern_matching)]
5
6 /// Tests for match_overlapping_arm
7
8 fn overlapping() {
9     const FOO: u64 = 2;
10
11     match 42 {
12         0..=10 => println!("0 ... 10"),
13         0..=11 => println!("0 ... 11"),
14         _ => (),
15     }
16
17     match 42 {
18         0..=5 => println!("0 ... 5"),
19         6..=7 => println!("6 ... 7"),
20         FOO..=11 => println!("0 ... 11"),
21         _ => (),
22     }
23
24     match 42 {
25         2 => println!("2"),
26         0..=5 => println!("0 ... 5"),
27         _ => (),
28     }
29
30     match 42 {
31         2 => println!("2"),
32         0..=2 => println!("0 ... 2"),
33         _ => (),
34     }
35
36     match 42 {
37         0..=10 => println!("0 ... 10"),
38         11..=50 => println!("11 ... 50"),
39         _ => (),
40     }
41
42     match 42 {
43         2 => println!("2"),
44         0..2 => println!("0 .. 2"),
45         _ => (),
46     }
47
48     match 42 {
49         0..10 => println!("0 .. 10"),
50         10..50 => println!("10 .. 50"),
51         _ => (),
52     }
53
54     match 42 {
55         0..11 => println!("0 .. 11"),
56         0..=11 => println!("0 ... 11"),
57         _ => (),
58     }
59
60     /*
61     // FIXME(JohnTitor): uncomment this once rustfmt knows half-open patterns
62     match 42 {
63         0.. => println!("0 .. 42"),
64         3.. => println!("3 .. 42"),
65         _ => (),
66     }
67
68     match 42 {
69         ..=23 => println!("0 ... 23"),
70         ..26 => println!("0 .. 26"),
71         _ => (),
72     }
73     */
74
75     if let None = Some(42) {
76         // nothing
77     } else if let None = Some(42) {
78         // another nothing :-)
79     }
80 }
81
82 fn main() {}