]> git.proxmox.com Git - rustc.git/blame - src/tools/clippy/tests/ui/match_overlapping_arm.rs
New upstream version 1.58.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / match_overlapping_arm.rs
CommitLineData
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
9fn 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
117fn main() {}