X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Ftools%2Fclippy%2Fclippy_lints%2Fsrc%2Funused_rounding.rs;h=aac6719a8dc0feef10b0ea7c4f1578f8732195ca;hb=ddf055ad07b93d27c826e737b674b65ab760e901;hp=5ab351bc29ca0b8b1ba653287f1933cc70d99217;hpb=70fe5f08fffd16dc20506f7d140e47b074f77964;p=rust.git diff --git a/src/tools/clippy/clippy_lints/src/unused_rounding.rs b/src/tools/clippy/clippy_lints/src/unused_rounding.rs index 5ab351bc29c..aac6719a8dc 100644 --- a/src/tools/clippy/clippy_lints/src/unused_rounding.rs +++ b/src/tools/clippy/clippy_lints/src/unused_rounding.rs @@ -30,16 +30,15 @@ declare_lint_pass!(UnusedRounding => [UNUSED_ROUNDING]); fn is_useless_rounding(expr: &Expr) -> Option<(&str, String)> { - if let ExprKind::MethodCall(box MethodCall { seg, receiver, .. }) = &expr.kind - && let method_name = seg.ident.name.as_str() + if let ExprKind::MethodCall(box MethodCall { seg:name_ident, receiver, .. }) = &expr.kind + && let method_name = name_ident.ident.name.as_str() && (method_name == "ceil" || method_name == "round" || method_name == "floor") && let ExprKind::Lit(token_lit) = &receiver.kind && token_lit.is_semantic_float() { - let f = token_lit.symbol.as_str().parse::().unwrap(); let mut f_str = token_lit.symbol.to_string(); - match token_lit.suffix { - Some(suffix) => f_str.push_str(suffix.as_str()), - None => {} + let f = f_str.trim_end_matches('_').parse::().unwrap(); + if let Some(suffix) = token_lit.suffix { + f_str.push_str(suffix.as_str()); } if f.fract() == 0.0 { Some((method_name, f_str))