deal with multiple prefixed zeros in literals
This commit is contained in:
@@ -367,12 +367,12 @@ impl MiscEarly {
|
|||||||
db.span_suggestion(
|
db.span_suggestion(
|
||||||
lit.span,
|
lit.span,
|
||||||
"if you mean to use a decimal constant, remove the `0` to remove confusion:",
|
"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(
|
db.span_suggestion(
|
||||||
lit.span,
|
lit.span,
|
||||||
"if you mean to use an octal constant, use `0o`:",
|
"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 fail1 = 0xabCD;
|
||||||
let fail2 = 0xabCD_u32;
|
let fail2 = 0xabCD_u32;
|
||||||
let fail2 = 0xabCD_isize;
|
let fail2 = 0xabCD_isize;
|
||||||
|
let fail_multi_zero = 000123usize;
|
||||||
|
|
||||||
let ok6 = 1234_i32;
|
let ok6 = 1234_i32;
|
||||||
let ok7 = 1234_f32;
|
let ok7 = 1234_f32;
|
||||||
|
|||||||
@@ -23,17 +23,29 @@ error: inconsistent casing in hexadecimal literal
|
|||||||
= note: `-D mixed-case-hex-literals` implied by `-D warnings`
|
= note: `-D mixed-case-hex-literals` implied by `-D warnings`
|
||||||
|
|
||||||
error: integer type suffix should be separated by an underscore
|
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`
|
= 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
|
error: integer type suffix should be separated by an underscore
|
||||||
--> literals.rs:22:17
|
--> literals.rs:22:17
|
||||||
|
|
|
|
||||||
22 | let fail4 = 1234u32;
|
22 | let fail3 = 1234i32;
|
||||||
| ^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
|
|
||||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
= 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
|
error: integer type suffix should be separated by an underscore
|
||||||
--> literals.rs:23:17
|
--> literals.rs:23:17
|
||||||
|
|
|
|
||||||
23 | let fail5 = 1234isize;
|
23 | let fail4 = 1234u32;
|
||||||
| ^^^^^^^^^
|
| ^^^^^^^
|
||||||
|
|
|
|
||||||
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||||
|
|
||||||
error: integer type suffix should be separated by an underscore
|
error: integer type suffix should be separated by an underscore
|
||||||
--> literals.rs:24:17
|
--> 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`
|
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||||
|
|
||||||
error: float type suffix should be separated by an underscore
|
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`
|
= note: `-D unseparated-literal-suffix` implied by `-D warnings`
|
||||||
|
|
||||||
error: this is a decimal constant
|
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`
|
= note: `-D zero-prefixed-literal` implied by `-D warnings`
|
||||||
|
|||||||
Reference in New Issue
Block a user