]>
Commit | Line | Data |
---|---|---|
f20569fa XL |
1 | #![feature(exclusive_range_pattern)] |
2 | #![feature(half_open_range_patterns)] | |
3 | #![warn(clippy::match_overlapping_arm)] | |
4 | #![allow(clippy::redundant_pattern_matching)] | |
c295e0f8 | 5 | #![allow(clippy::if_same_then_else, clippy::equatable_if_let)] |
f20569fa XL |
6 | |
7 | /// Tests for match_overlapping_arm | |
8 | ||
9 | fn overlapping() { | |
10 | const FOO: u64 = 2; | |
11 | ||
12 | match 42 { | |
3c0e092e XL |
13 | 0..=10 => println!("0..=10"), |
14 | 0..=11 => println!("0..=11"), | |
f20569fa XL |
15 | _ => (), |
16 | } | |
17 | ||
18 | match 42 { | |
3c0e092e XL |
19 | 0..=5 => println!("0..=5"), |
20 | 6..=7 => println!("6..=7"), | |
21 | FOO..=11 => println!("FOO..=11"), | |
f20569fa XL |
22 | _ => (), |
23 | } | |
24 | ||
25 | match 42 { | |
26 | 2 => println!("2"), | |
3c0e092e | 27 | 0..=5 => println!("0..=5"), |
f20569fa XL |
28 | _ => (), |
29 | } | |
30 | ||
31 | match 42 { | |
32 | 2 => println!("2"), | |
3c0e092e | 33 | 0..=2 => println!("0..=2"), |
f20569fa XL |
34 | _ => (), |
35 | } | |
36 | ||
37 | match 42 { | |
3c0e092e XL |
38 | 0..=10 => println!("0..=10"), |
39 | 11..=50 => println!("11..=50"), | |
f20569fa XL |
40 | _ => (), |
41 | } | |
42 | ||
43 | match 42 { | |
44 | 2 => println!("2"), | |
3c0e092e | 45 | 0..2 => println!("0..2"), |
f20569fa XL |
46 | _ => (), |
47 | } | |
48 | ||
49 | match 42 { | |
3c0e092e XL |
50 | 0..10 => println!("0..10"), |
51 | 10..50 => println!("10..50"), | |
f20569fa XL |
52 | _ => (), |
53 | } | |
54 | ||
55 | match 42 { | |
3c0e092e XL |
56 | 0..11 => println!("0..11"), |
57 | 0..=11 => println!("0..=11"), | |
f20569fa XL |
58 | _ => (), |
59 | } | |
60 | ||
61 | match 42 { | |
3c0e092e XL |
62 | 5..7 => println!("5..7"), |
63 | 0..10 => println!("0..10"), | |
f20569fa XL |
64 | _ => (), |
65 | } | |
66 | ||
67 | match 42 { | |
3c0e092e XL |
68 | 5..10 => println!("5..10"), |
69 | 0..=10 => println!("0..=10"), | |
f20569fa XL |
70 | _ => (), |
71 | } | |
72 | ||
73 | match 42 { | |
3c0e092e XL |
74 | 0..14 => println!("0..14"), |
75 | 5..10 => println!("5..10"), | |
f20569fa XL |
76 | _ => (), |
77 | } | |
78 | ||
79 | match 42 { | |
3c0e092e XL |
80 | 5..14 => println!("5..14"), |
81 | 0..=10 => println!("0..=10"), | |
f20569fa XL |
82 | _ => (), |
83 | } | |
84 | ||
85 | match 42 { | |
3c0e092e XL |
86 | 0..7 => println!("0..7"), |
87 | 0..=10 => println!("0..=10"), | |
f20569fa XL |
88 | _ => (), |
89 | } | |
90 | ||
f20569fa | 91 | match 42 { |
3c0e092e XL |
92 | 3.. => println!("3.."), |
93 | 0.. => println!("0.."), | |
f20569fa XL |
94 | _ => (), |
95 | } | |
96 | ||
97 | match 42 { | |
3c0e092e XL |
98 | ..=23 => println!("..=23"), |
99 | ..26 => println!("..26"), | |
100 | _ => (), | |
101 | } | |
102 | ||
103 | // Issue #7829 | |
104 | match 0 { | |
105 | -1..=1 => (), | |
106 | -2..=2 => (), | |
f20569fa XL |
107 | _ => (), |
108 | } | |
f20569fa XL |
109 | |
110 | if let None = Some(42) { | |
111 | // nothing | |
112 | } else if let None = Some(42) { | |
113 | // another nothing :-) | |
114 | } | |
115 | } | |
116 | ||
117 | fn main() {} |