]> git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui/almost_complete_range.rs
New upstream version 1.74.1+dfsg1
[rustc.git] / src / tools / clippy / tests / ui / almost_complete_range.rs
1 //@edition:2018
2 //@aux-build:proc_macros.rs
3
4 #![feature(exclusive_range_pattern)]
5 #![feature(stmt_expr_attributes)]
6 #![warn(clippy::almost_complete_range)]
7 #![allow(ellipsis_inclusive_range_patterns)]
8 #![allow(clippy::needless_parens_on_range_literals)]
9 #![allow(clippy::double_parens)]
10
11 extern crate proc_macros;
12 use proc_macros::{external, inline_macros};
13
14 #[inline_macros]
15 fn main() {
16 #[rustfmt::skip]
17 {
18 let _ = ('a') ..'z';
19 let _ = 'A' .. ('Z');
20 let _ = ((('0'))) .. ('9');
21 }
22
23 let _ = 'b'..'z';
24 let _ = 'B'..'Z';
25 let _ = '1'..'9';
26
27 let _ = (b'a')..(b'z');
28 let _ = b'A'..b'Z';
29 let _ = b'0'..b'9';
30
31 let _ = b'b'..b'z';
32 let _ = b'B'..b'Z';
33 let _ = b'1'..b'9';
34
35 let _ = inline!('a')..'z';
36 let _ = inline!('A')..'Z';
37 let _ = inline!('0')..'9';
38
39 let _ = match 0u8 {
40 b'a'..b'z' if true => 1,
41 b'A'..b'Z' if true => 2,
42 b'0'..b'9' if true => 3,
43 b'b'..b'z' => 4,
44 b'B'..b'Z' => 5,
45 b'1'..b'9' => 6,
46 _ => 7,
47 };
48
49 let _ = match 'x' {
50 'a'..'z' if true => 1,
51 'A'..'Z' if true => 2,
52 '0'..'9' if true => 3,
53 'b'..'z' => 4,
54 'B'..'Z' => 5,
55 '1'..'9' => 6,
56 _ => 7,
57 };
58
59 external!(
60 let _ = 'a'..'z';
61 let _ = 'A'..'Z';
62 let _ = '0'..'9';
63 );
64 inline!(
65 let _ = 'a'..'z';
66 let _ = 'A'..'Z';
67 let _ = '0'..'9';
68 );
69 }
70
71 #[clippy::msrv = "1.25"]
72 fn _under_msrv() {
73 let _ = match 'a' {
74 'a'..'z' => 1,
75 'A'..'Z' => 2,
76 '0'..'9' => 3,
77 _ => 4,
78 };
79 }
80
81 #[clippy::msrv = "1.26"]
82 fn _meets_msrv() {
83 let _ = 'a'..'z';
84 let _ = 'A'..'Z';
85 let _ = '0'..'9';
86 let _ = match 'a' {
87 'a'..'z' => 1,
88 'A'..'Z' => 1,
89 '0'..'9' => 3,
90 _ => 4,
91 };
92 }