deal with multiple prefixed zeros in literals
This commit is contained in:
parent
b1e9c1b7e7
commit
3a8e4c33bd
@ -367,12 +367,12 @@ impl MiscEarly {
|
||||
db.span_suggestion(
|
||||
lit.span,
|
||||
"if you mean to use a decimal constant, remove the `0` to remove confusion:",
|
||||
src[1..].to_string(),
|
||||
src.trim_left_matches('0').to_string(),
|
||||
);
|
||||
db.span_suggestion(
|
||||
lit.span,
|
||||
"if you mean to use an octal constant, use `0o`:",
|
||||
format!("0o{}", &src[1..]),
|
||||
format!("0o{}", src.trim_left_matches('0')),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ fn main() {
|
||||
let fail1 = 0xabCD;
|
||||
let fail2 = 0xabCD_u32;
|
||||
let fail2 = 0xabCD_isize;
|
||||
let fail_multi_zero = 000123usize;
|
||||
|
||||
let ok6 = 1234_i32;
|
||||
let ok7 = 1234_f32;
|
||||
|
@ -23,17 +23,29 @@ error: inconsistent casing in hexadecimal literal
|
||||
= note: `-D mixed-case-hex-literals` implied by `-D warnings`
|
||||
|
||||
error: integer type suffix should be separated by an underscore
|
||||
--> literals.rs:21:17
|
||||
--> literals.rs:17:27
|
||||
|
|
||||
21 | let fail3 = 1234i32;
|
||||
| ^^^^^^^
|
||||
17 | let fail_multi_zero = 000123usize;
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
|
||||
error: this is a decimal constant
|
||||
--> literals.rs:17:27
|
||||
|
|
||||
17 | let fail_multi_zero = 000123usize;
|
||||
| ^^^^^^^^^^^
|
||||
|
|
||||
= note: `-D zero-prefixed-literal` implied by `-D warnings`
|
||||
help: if you mean to use a decimal constant, remove the `0` to remove confusion:
|
||||
| let fail_multi_zero = 123usize;
|
||||
help: if you mean to use an octal constant, use `0o`:
|
||||
| let fail_multi_zero = 0o123usize;
|
||||
|
||||
error: integer type suffix should be separated by an underscore
|
||||
--> literals.rs:22:17
|
||||
|
|
||||
22 | let fail4 = 1234u32;
|
||||
22 | let fail3 = 1234i32;
|
||||
| ^^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
@ -41,31 +53,39 @@ error: integer type suffix should be separated by an underscore
|
||||
error: integer type suffix should be separated by an underscore
|
||||
--> literals.rs:23:17
|
||||
|
|
||||
23 | let fail5 = 1234isize;
|
||||
| ^^^^^^^^^
|
||||
23 | let fail4 = 1234u32;
|
||||
| ^^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
|
||||
error: integer type suffix should be separated by an underscore
|
||||
--> literals.rs:24:17
|
||||
|
|
||||
24 | let fail6 = 1234usize;
|
||||
24 | let fail5 = 1234isize;
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
|
||||
error: integer type suffix should be separated by an underscore
|
||||
--> literals.rs:25:17
|
||||
|
|
||||
25 | let fail6 = 1234usize;
|
||||
| ^^^^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
|
||||
error: float type suffix should be separated by an underscore
|
||||
--> literals.rs:25:17
|
||||
--> literals.rs:26:17
|
||||
|
|
||||
25 | let fail7 = 1.5f32;
|
||||
26 | let fail7 = 1.5f32;
|
||||
| ^^^^^^
|
||||
|
|
||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||
|
||||
error: this is a decimal constant
|
||||
--> literals.rs:29:17
|
||||
--> literals.rs:30:17
|
||||
|
|
||||
29 | let fail8 = 0123;
|
||||
30 | let fail8 = 0123;
|
||||
| ^^^^
|
||||
|
|
||||
= note: `-D zero-prefixed-literal` implied by `-D warnings`
|
||||
|
Loading…
Reference in New Issue
Block a user