]> git.lizzy.rs Git - rust.git/blob - tests/ui/almost_complete_letter_range.rs
Auto merge of #9684 - kraktus:ref_option_ref, r=xFrednet
[rust.git] / tests / ui / almost_complete_letter_range.rs
1 // run-rustfix
2 // edition:2018
3 // aux-build:macro_rules.rs
4
5 #![feature(custom_inner_attributes)]
6 #![feature(exclusive_range_pattern)]
7 #![feature(stmt_expr_attributes)]
8 #![warn(clippy::almost_complete_letter_range)]
9 #![allow(ellipsis_inclusive_range_patterns)]
10 #![allow(clippy::needless_parens_on_range_literals)]
11
12 #[macro_use]
13 extern crate macro_rules;
14
15 macro_rules! a {
16     () => {
17         'a'
18     };
19 }
20
21 macro_rules! b {
22     () => {
23         let _ = 'a'..'z';
24     };
25 }
26
27 fn main() {
28     #[rustfmt::skip]
29     {
30         let _ = ('a') ..'z';
31         let _ = 'A' .. ('Z');
32     }
33
34     let _ = 'b'..'z';
35     let _ = 'B'..'Z';
36
37     let _ = (b'a')..(b'z');
38     let _ = b'A'..b'Z';
39
40     let _ = b'b'..b'z';
41     let _ = b'B'..b'Z';
42
43     let _ = a!()..'z';
44
45     let _ = match 0u8 {
46         b'a'..b'z' if true => 1,
47         b'A'..b'Z' if true => 2,
48         b'b'..b'z' => 3,
49         b'B'..b'Z' => 4,
50         _ => 5,
51     };
52
53     let _ = match 'x' {
54         'a'..'z' if true => 1,
55         'A'..'Z' if true => 2,
56         'b'..'z' => 3,
57         'B'..'Z' => 4,
58         _ => 5,
59     };
60
61     almost_complete_letter_range!();
62     b!();
63 }
64
65 fn _under_msrv() {
66     #![clippy::msrv = "1.25"]
67     let _ = match 'a' {
68         'a'..'z' => 1,
69         _ => 2,
70     };
71 }
72
73 fn _meets_msrv() {
74     #![clippy::msrv = "1.26"]
75     let _ = 'a'..'z';
76     let _ = match 'a' {
77         'a'..'z' => 1,
78         _ => 2,
79     };
80 }