mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-30 14:52:56 +03:00
removed lint for division/modulo for literal 0
This commit is contained in:
@@ -90,12 +90,7 @@ fn check_expr(&mut self, cx: &LateContext<'tcx>, expr: &'tcx hir::Expr<'_>) {
|
||||
if l_ty.peel_refs().is_integral() && r_ty.peel_refs().is_integral() {
|
||||
match op.node {
|
||||
hir::BinOpKind::Div | hir::BinOpKind::Rem => match &r.kind {
|
||||
hir::ExprKind::Lit(lit) => {
|
||||
if let rustc_ast::ast::LitKind::Int(0, _) = lit.node {
|
||||
span_lint(cx, INTEGER_ARITHMETIC, expr.span, "integer arithmetic detected");
|
||||
self.expr_span = Some(expr.span);
|
||||
}
|
||||
},
|
||||
hir::ExprKind::Lit(_lit) => (),
|
||||
hir::ExprKind::Unary(hir::UnOp::UnNeg, expr) => {
|
||||
if let hir::ExprKind::Lit(lit) = &expr.kind {
|
||||
if let rustc_ast::ast::LitKind::Int(1, _) = lit.node {
|
||||
|
||||
@@ -75,12 +75,6 @@ error: integer arithmetic detected
|
||||
LL | i *= 2;
|
||||
| ^^^^^^
|
||||
|
||||
error: integer arithmetic detected
|
||||
--> $DIR/integer_arithmetic.rs:37:5
|
||||
|
|
||||
LL | i /= 0;
|
||||
| ^^^^^^
|
||||
|
||||
error: integer arithmetic detected
|
||||
--> $DIR/integer_arithmetic.rs:38:11
|
||||
|
|
||||
@@ -99,12 +93,6 @@ error: integer arithmetic detected
|
||||
LL | i /= var2;
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: integer arithmetic detected
|
||||
--> $DIR/integer_arithmetic.rs:42:5
|
||||
|
|
||||
LL | i %= 0;
|
||||
| ^^^^^^
|
||||
|
||||
error: integer arithmetic detected
|
||||
--> $DIR/integer_arithmetic.rs:43:11
|
||||
|
|
||||
@@ -177,5 +165,5 @@ error: integer arithmetic detected
|
||||
LL | (&x + &y)
|
||||
| ^^^^^^^^^
|
||||
|
||||
error: aborting due to 29 previous errors
|
||||
error: aborting due to 27 previous errors
|
||||
|
||||
|
||||
Reference in New Issue
Block a user