then {
let digit_info = DigitInfo::new(&src, false);
if digit_info.radix == Radix::Decimal {
- let val = digit_info.digits
+ if let Ok(val) = digit_info.digits
.chars()
.filter(|&c| c != '_')
.collect::<String>()
- .parse::<u128>().unwrap();
- if val < u128::from(self.threshold) {
- return
+ .parse::<u128>() {
+ if val < u128::from(self.threshold) {
+ return
+ }
+ let hex = format!("{:#X}", val);
+ let digit_info = DigitInfo::new(&hex[..], false);
+ let _ = Self::do_lint(digit_info.digits).map_err(|warning_type| {
+ warning_type.display(&digit_info.grouping_hint(), cx, lit.span)
+ });
}
- let hex = format!("{:#X}", val);
- let digit_info = DigitInfo::new(&hex[..], false);
- let _ = Self::do_lint(digit_info.digits).map_err(|warning_type| {
- warning_type.display(&digit_info.grouping_hint(), cx, lit.span)
- });
+ else {
+ return
+ };
}
}
}
--- /dev/null
+error: invalid suffix `x` for numeric literal
+ --> $DIR/ice-3891.rs:2:5
+ |
+LL | 1x;
+ | ^^ invalid suffix `x`
+ |
+ = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
+
+error: aborting due to previous error
+