mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
literal representation: simplification
Simplify calculation in grouping. Add test case to ensure `count()` can't be zero in that branch.
This commit is contained in:
parent
2e9d173be1
commit
75e2dcf56b
@ -268,7 +268,7 @@ impl<'a> NumericLiteral<'a> {
|
||||
let first_group_size;
|
||||
|
||||
if partial_group_first {
|
||||
first_group_size = (digits.clone().count() + group_size - 1) % group_size + 1;
|
||||
first_group_size = (digits.clone().count() - 1) % group_size + 1;
|
||||
if pad {
|
||||
for _ in 0..group_size - first_group_size {
|
||||
output.push('0');
|
||||
|
@ -18,4 +18,7 @@ fn main() {
|
||||
let _ = 0x0100_0000;
|
||||
let _ = 0x1000_0000;
|
||||
let _ = 0x0001_0000_0000_u64;
|
||||
|
||||
// Test suggestion when fraction has no digits
|
||||
let _: f32 = 123_456.;
|
||||
}
|
||||
|
@ -18,4 +18,7 @@ fn main() {
|
||||
let _ = 0x1000000;
|
||||
let _ = 0x10000000;
|
||||
let _ = 0x100000000_u64;
|
||||
|
||||
// Test suggestion when fraction has no digits
|
||||
let _: f32 = 1_23_456.;
|
||||
}
|
||||
|
@ -56,5 +56,11 @@ error: long literal lacking separators
|
||||
LL | let _ = 0x100000000_u64;
|
||||
| ^^^^^^^^^^^^^^^ help: consider: `0x0001_0000_0000_u64`
|
||||
|
||||
error: aborting due to 9 previous errors
|
||||
error: digits grouped inconsistently by underscores
|
||||
--> $DIR/inconsistent_digit_grouping.rs:23:18
|
||||
|
|
||||
LL | let _: f32 = 1_23_456.;
|
||||
| ^^^^^^^^^ help: consider: `123_456.`
|
||||
|
||||
error: aborting due to 10 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user