Skip to content

Commit

Permalink
Correctly handle signs in exponents in numeric_literal::format()
Browse files Browse the repository at this point in the history
  • Loading branch information
Manishearth committed Oct 2, 2021
1 parent 5116080 commit 6bf5c0b
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 2 deletions.
7 changes: 7 additions & 0 deletions clippy_utils/src/numeric_literal.rs
Expand Up @@ -177,6 +177,13 @@ impl<'a> NumericLiteral<'a> {

let mut digits = input.chars().filter(|&c| c != '_');

// The exponent may have a sign, output it early, otherwise it will be
// treated as a digit
if let Some('-') = digits.clone().next() {
let _ = digits.next();
output.push('-');
}

let first_group_size;

if partial_group_first {
Expand Down
2 changes: 1 addition & 1 deletion tests/ui/excessive_precision.fixed
Expand Up @@ -62,5 +62,5 @@ fn main() {
let num = 0.000_000_000_01e-10f64;

// issue #7744
let _ = 2.225_073_858_507_201e-_308_f64;
let _ = 2.225_073_858_507_201e-308_f64;
}
2 changes: 1 addition & 1 deletion tests/ui/excessive_precision.stderr
Expand Up @@ -82,7 +82,7 @@ error: float has excessive precision
--> $DIR/excessive_precision.rs:65:13
|
LL | let _ = 2.225_073_858_507_201_1e-308_f64;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `2.225_073_858_507_201e-_308_f64`
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider changing the type or truncating it to: `2.225_073_858_507_201e-308_f64`

error: aborting due to 14 previous errors

0 comments on commit 6bf5c0b

Please sign in to comment.