2022-11-21 19:34:47 +00:00
|
|
|
#![allow(unused, dead_code)]
|
|
|
|
#![warn(clippy::manual_is_ascii_check)]
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
assert!('x'.is_ascii_lowercase());
|
|
|
|
assert!('X'.is_ascii_uppercase());
|
|
|
|
assert!(b'x'.is_ascii_lowercase());
|
|
|
|
assert!(b'X'.is_ascii_uppercase());
|
|
|
|
|
|
|
|
let num = '2';
|
|
|
|
assert!(num.is_ascii_digit());
|
|
|
|
assert!(b'1'.is_ascii_digit());
|
|
|
|
assert!('x'.is_ascii_alphabetic());
|
|
|
|
|
|
|
|
assert!(matches!('x', 'A'..='Z' | 'a'..='z' | '_'));
|
2022-12-17 13:12:54 +00:00
|
|
|
|
|
|
|
b'0'.is_ascii_digit();
|
|
|
|
b'a'.is_ascii_lowercase();
|
|
|
|
b'A'.is_ascii_uppercase();
|
|
|
|
|
|
|
|
'0'.is_ascii_digit();
|
|
|
|
'a'.is_ascii_lowercase();
|
|
|
|
'A'.is_ascii_uppercase();
|
|
|
|
|
|
|
|
let cool_letter = &'g';
|
|
|
|
cool_letter.is_ascii_digit();
|
|
|
|
cool_letter.is_ascii_lowercase();
|
|
|
|
cool_letter.is_ascii_uppercase();
|
2022-11-21 19:34:47 +00:00
|
|
|
}
|
|
|
|
|
2022-12-01 17:29:38 +00:00
|
|
|
#[clippy::msrv = "1.23"]
|
2022-11-21 19:34:47 +00:00
|
|
|
fn msrv_1_23() {
|
|
|
|
assert!(matches!(b'1', b'0'..=b'9'));
|
|
|
|
assert!(matches!('X', 'A'..='Z'));
|
|
|
|
assert!(matches!('x', 'A'..='Z' | 'a'..='z'));
|
2023-10-21 12:16:11 +00:00
|
|
|
assert!(matches!('x', '0'..='9' | 'a'..='f' | 'A'..='F'));
|
2022-11-21 19:34:47 +00:00
|
|
|
}
|
|
|
|
|
2022-12-01 17:29:38 +00:00
|
|
|
#[clippy::msrv = "1.24"]
|
2022-11-21 19:34:47 +00:00
|
|
|
fn msrv_1_24() {
|
|
|
|
assert!(b'1'.is_ascii_digit());
|
|
|
|
assert!('X'.is_ascii_uppercase());
|
|
|
|
assert!('x'.is_ascii_alphabetic());
|
2023-10-21 12:16:11 +00:00
|
|
|
assert!('x'.is_ascii_hexdigit());
|
2022-11-21 19:34:47 +00:00
|
|
|
}
|
|
|
|
|
2022-12-01 17:29:38 +00:00
|
|
|
#[clippy::msrv = "1.46"]
|
2022-11-21 19:34:47 +00:00
|
|
|
fn msrv_1_46() {
|
|
|
|
const FOO: bool = matches!('x', '0'..='9');
|
2023-10-21 12:16:11 +00:00
|
|
|
const BAR: bool = matches!('x', '0'..='9' | 'a'..='f' | 'A'..='F');
|
2022-11-21 19:34:47 +00:00
|
|
|
}
|
|
|
|
|
2022-12-01 17:29:38 +00:00
|
|
|
#[clippy::msrv = "1.47"]
|
2022-11-21 19:34:47 +00:00
|
|
|
fn msrv_1_47() {
|
|
|
|
const FOO: bool = 'x'.is_ascii_digit();
|
2023-10-21 12:16:11 +00:00
|
|
|
const BAR: bool = 'x'.is_ascii_hexdigit();
|
2022-11-21 19:34:47 +00:00
|
|
|
}
|
2024-05-02 15:26:44 +00:00
|
|
|
|
|
|
|
#[allow(clippy::deref_addrof, clippy::needless_borrow)]
|
|
|
|
fn with_refs() {
|
|
|
|
let cool_letter = &&'g';
|
|
|
|
cool_letter.is_ascii_digit();
|
|
|
|
cool_letter.is_ascii_lowercase();
|
|
|
|
}
|
|
|
|
|
|
|
|
fn generics() {
|
|
|
|
fn a<U>(u: &U) -> bool
|
|
|
|
where
|
|
|
|
char: PartialOrd<U>,
|
|
|
|
U: PartialOrd<char> + ?Sized,
|
|
|
|
{
|
|
|
|
('A'..='Z').contains(u)
|
|
|
|
}
|
|
|
|
|
|
|
|
fn take_while<Item, F>(cond: F)
|
|
|
|
where
|
|
|
|
Item: Sized,
|
|
|
|
F: Fn(Item) -> bool,
|
|
|
|
{
|
|
|
|
}
|
|
|
|
take_while(|c: char| c.is_ascii_uppercase());
|
|
|
|
take_while(|c: u8| c.is_ascii_uppercase());
|
|
|
|
take_while(|c: char| c.is_ascii_uppercase());
|
|
|
|
}
|