Fixes #3180, suppress excessive_precision lint for floats with no decimal part

This commit is contained in:
Josh Mcguigan 2018-09-29 07:39:30 -07:00
parent 67d85bc47d
commit e25f884e6f
2 changed files with 7 additions and 2 deletions

View file

@ -98,8 +98,9 @@ impl ExcessivePrecision {
}
}
/// Should we exclude the float because it has a .0 suffix
/// Should we exclude the float because it has a `.0` or `.` suffix
/// Ex 1_000_000_000.0
/// Ex 1_000_000_000.
fn dot_zero_exclusion(s: &str) -> bool {
if let Some(after_dec) = s.split('.').nth(1) {
let mut decpart = after_dec
@ -108,7 +109,8 @@ fn dot_zero_exclusion(s: &str) -> bool {
match decpart.next() {
Some('0') => decpart.count() == 0,
_ => false,
Some(_) => false,
None => true,
}
} else {
false

View file

@ -54,4 +54,7 @@ fn main() {
let good_bige32: f32 = 1E-10;
let bad_bige32: f32 = 1.123_456_788_888E-10;
// Inferred type
let good_inferred: f32 = 1f32 * 1_000_000_000.;
}