rust-clippy/tests/ui/literals.rs

77 lines
2.8 KiB
Rust
Raw Normal View History

2023-07-27 11:40:22 +00:00
//@no-rustfix: overlapping suggestions
2019-09-25 11:49:38 +00:00
// does not test any rustfixable lints
2018-07-28 15:34:52 +00:00
#![warn(clippy::mixed_case_hex_literals)]
#![warn(clippy::zero_prefixed_literal)]
#![warn(clippy::unseparated_literal_suffix)]
#![warn(clippy::separated_literal_suffix)]
#![allow(dead_code, overflowing_literals)]
fn main() {
let ok1 = 0xABCD;
let ok3 = 0xab_cd;
let ok4 = 0xab_cd_i32;
//~^ ERROR: integer type suffix should not be separated by an underscore
//~| NOTE: `-D clippy::separated-literal-suffix` implied by `-D warnings`
let ok5 = 0xAB_CD_u32;
//~^ ERROR: integer type suffix should not be separated by an underscore
let ok5 = 0xAB_CD_isize;
//~^ ERROR: integer type suffix should not be separated by an underscore
2017-02-08 13:58:07 +00:00
let fail1 = 0xabCD;
//~^ ERROR: inconsistent casing in hexadecimal literal
//~| NOTE: `-D clippy::mixed-case-hex-literals` implied by `-D warnings`
2017-02-08 13:58:07 +00:00
let fail2 = 0xabCD_u32;
//~^ ERROR: integer type suffix should not be separated by an underscore
//~| ERROR: inconsistent casing in hexadecimal literal
2017-02-08 13:58:07 +00:00
let fail2 = 0xabCD_isize;
//~^ ERROR: integer type suffix should not be separated by an underscore
//~| ERROR: inconsistent casing in hexadecimal literal
2017-07-19 23:56:32 +00:00
let fail_multi_zero = 000_123usize;
//~^ ERROR: integer type suffix should be separated by an underscore
//~| NOTE: `-D clippy::unseparated-literal-suffix` implied by `-D warnings`
//~| ERROR: this is a decimal constant
//~| NOTE: `-D clippy::zero-prefixed-literal` implied by `-D warnings`
2016-08-20 16:11:15 +00:00
let ok9 = 0;
let ok10 = 0_i64;
//~^ ERROR: integer type suffix should not be separated by an underscore
2016-08-20 16:11:15 +00:00
let fail8 = 0123;
//~^ ERROR: this is a decimal constant
2017-02-08 13:58:07 +00:00
let ok11 = 0o123;
2017-07-19 23:56:32 +00:00
let ok12 = 0b10_1010;
2018-05-28 12:12:20 +00:00
let ok13 = 0xab_abcd;
let ok14 = 0xBAFE_BAFE;
let ok15 = 0xab_cabc_abca_bcab_cabc;
let ok16 = 0xFE_BAFE_ABAB_ABCD;
let ok17 = 0x123_4567_8901_usize;
//~^ ERROR: integer type suffix should not be separated by an underscore
let ok18 = 0xF;
2018-05-28 12:12:20 +00:00
2018-09-02 21:07:55 +00:00
let fail19 = 12_3456_21;
//~^ ERROR: digits grouped inconsistently by underscores
//~| NOTE: `-D clippy::inconsistent-digit-grouping` implied by `-D warnings`
2018-09-02 21:07:55 +00:00
let fail22 = 3__4___23;
//~^ ERROR: digits grouped inconsistently by underscores
2018-09-02 21:07:55 +00:00
let fail23 = 3__16___23;
//~^ ERROR: digits grouped inconsistently by underscores
let fail24 = 0xAB_ABC_AB;
//~^ ERROR: digits of hex, binary or octal literal not in groups of equal size
//~| NOTE: `-D clippy::unusual-byte-groupings` implied by `-D warnings`
let fail25 = 0b01_100_101;
let ok26 = 0x6_A0_BF;
let ok27 = 0b1_0010_0101;
}
fn issue9651() {
// lint but octal form is not possible here
let _ = 08;
//~^ ERROR: this is a decimal constant
let _ = 09;
//~^ ERROR: this is a decimal constant
let _ = 089;
//~^ ERROR: this is a decimal constant
}