about summary refs log tree commit diff
diff options
context:
space:
mode:
authorYoshitomo Nakanishi <yurayura.rounin.3@gmail.com>2021-03-09 16:47:46 +0900
committerYoshitomo Nakanishi <yurayura.rounin.3@gmail.com>2021-03-09 17:16:10 +0900
commit0dce9921fd6a1e55430c56e5ccf0faf0f1e23491 (patch)
tree2e9e5644da2bb0ba67341403154d18dfa6af3d0d
parent9709993e412dd3400aec27d4fefae0cbf1f702aa (diff)
downloadrust-0dce9921fd6a1e55430c56e5ccf0faf0f1e23491.tar.gz
rust-0dce9921fd6a1e55430c56e5ccf0faf0f1e23491.zip
Remove 'lint_numeric_casts'
-rw-r--r--clippy_lints/src/casts/mod.rs24
1 files changed, 7 insertions, 17 deletions
diff --git a/clippy_lints/src/casts/mod.rs b/clippy_lints/src/casts/mod.rs
index d8c74436501..c7e9066f3ea 100644
--- a/clippy_lints/src/casts/mod.rs
+++ b/clippy_lints/src/casts/mod.rs
@@ -302,8 +302,14 @@ impl<'tcx> LateLintPass<'tcx> for Casts {
                 return;
             }
             lint_fn_to_numeric_cast(cx, expr, cast_expr, cast_from, cast_to);
-            lint_numeric_casts(cx, expr, cast_expr, cast_from, cast_to);
             lint_cast_ptr_alignment(cx, expr, cast_from, cast_to);
+            if cast_from.is_numeric() && cast_to.is_numeric() && !in_external_macro(cx.sess(), expr.span) {
+                cast_possible_truncation::check(cx, expr, cast_from, cast_to);
+                cast_possible_wrap::check(cx, expr, cast_from, cast_to);
+                cast_precision_loss::check(cx, expr, cast_from, cast_to);
+                cast_lossless::check(cx, expr, cast_expr, cast_from, cast_to);
+                cast_sign_loss::check(cx, expr, cast_expr, cast_from, cast_to);
+            }
         } else if let ExprKind::MethodCall(method_path, _, args, _) = expr.kind {
             if_chain! {
             if method_path.ident.name == sym!(cast);
@@ -321,22 +327,6 @@ impl<'tcx> LateLintPass<'tcx> for Casts {
     }
 }
 
-fn lint_numeric_casts<'tcx>(
-    cx: &LateContext<'tcx>,
-    expr: &Expr<'tcx>,
-    cast_op: &Expr<'_>,
-    cast_from: Ty<'tcx>,
-    cast_to: Ty<'tcx>,
-) {
-    if cast_from.is_numeric() && cast_to.is_numeric() && !in_external_macro(cx.sess(), expr.span) {
-        cast_possible_truncation::check(cx, expr, cast_from, cast_to);
-        cast_possible_wrap::check(cx, expr, cast_from, cast_to);
-        cast_precision_loss::check(cx, expr, cast_from, cast_to);
-        cast_lossless::check(cx, expr, cast_op, cast_from, cast_to);
-        cast_sign_loss::check(cx, expr, cast_op, cast_from, cast_to);
-    }
-}
-
 fn lint_cast_ptr_alignment<'tcx>(cx: &LateContext<'tcx>, expr: &Expr<'_>, cast_from: Ty<'tcx>, cast_to: Ty<'tcx>) {
     if_chain! {
         if let ty::RawPtr(from_ptr_ty) = &cast_from.kind();