Skip to content

Commit ec664e8

Browse files
author
Michael Wright
committed
literal representation restructure 5
Use `split_digit_parts` in `check_lit`.
1 parent 2d244d3 commit ec664e8

File tree

1 file changed

+14
-29
lines changed

1 file changed

+14
-29
lines changed

clippy_lints/src/literal_representation.rs

Lines changed: 14 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -400,36 +400,21 @@ impl LiteralDigitGrouping {
400400
}
401401
}
402402

403-
match lit.kind {
404-
LitKind::Int(..) => {
405-
Self::do_lint(digit_info.digits, in_macro)?;
406-
},
407-
LitKind::Float(..) => {
408-
// Separate digits into integral and fractional parts.
409-
let parts: Vec<&str> = digit_info
410-
.digits
411-
.split_terminator('.')
412-
.collect();
413-
414-
// Lint integral and fractional parts separately, and then check consistency of digit
415-
// groups if both pass.
416-
let integral_group_size = Self::do_lint(parts[0], in_macro)?;
417-
if parts.len() > 1 {
418-
// Lint the fractional part of literal just like integral part, but reversed.
419-
let fractional_part = &parts[1].chars().rev().collect::<String>();
420-
let fractional_group_size = Self::do_lint(fractional_part, in_macro)?;
421-
let consistent = Self::parts_consistent(integral_group_size,
422-
fractional_group_size,
423-
parts[0].len(),
424-
parts[1].len());
425-
if !consistent {
426-
return Err(WarningType::InconsistentDigitGrouping);
427-
};
428-
};
429-
},
430-
_ => (),
403+
let (integer, fraction, _) = digit_info.split_digit_parts();
404+
405+
let integral_group_size = Self::do_lint(integer, in_macro)?;
406+
if let Some(fraction) = fraction {
407+
let fractional_part = fraction.chars().rev().collect::<String>();
408+
let fractional_group_size = Self::do_lint(&fractional_part, in_macro)?;
409+
410+
let consistent = Self::parts_consistent(integral_group_size,
411+
fractional_group_size,
412+
integer.len(),
413+
fraction.len());
414+
if !consistent {
415+
return Err(WarningType::InconsistentDigitGrouping);
416+
};
431417
}
432-
433418
Ok(())
434419
})();
435420

0 commit comments

Comments
 (0)