diff options
| author | Lucas Lois <lucasloisp@gmail.com> | 2018-12-17 15:32:24 -0300 |
|---|---|---|
| committer | Lucas Lois <lucasloisp@gmail.com> | 2018-12-17 15:32:24 -0300 |
| commit | de42dfbab7ce008c0a15cf4b8896f51fa90ea7ed (patch) | |
| tree | a83ecc37bfce6e1565cf40621d7130d4a71f1a14 | |
| parent | bc48890b47d13d1d820864e3c695ff6bf7038eac (diff) | |
| download | rust-de42dfbab7ce008c0a15cf4b8896f51fa90ea7ed.tar.gz rust-de42dfbab7ce008c0a15cf4b8896f51fa90ea7ed.zip | |
Changes lint sugg to bitwise and operator `&`
| -rw-r--r-- | clippy_lints/src/needless_bool.rs | 4 | ||||
| -rw-r--r-- | clippy_lints/src/utils/sugg.rs | 5 | ||||
| -rw-r--r-- | tests/ui/bool_comparison.stderr | 4 |
3 files changed, 9 insertions, 4 deletions
diff --git a/clippy_lints/src/needless_bool.rs b/clippy_lints/src/needless_bool.rs index dbd61935cc4..1ad7f4c5540 100644 --- a/clippy_lints/src/needless_bool.rs +++ b/clippy_lints/src/needless_bool.rs @@ -174,7 +174,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoolComparison { )), ignore_case, Some(( - |l: Sugg<'_>, r: Sugg<'_>| (!l).and(&r), + |l: Sugg<'_>, r: Sugg<'_>| (!l).bit_and(&r), "order comparisons between booleans can be simplified", )), ), @@ -189,7 +189,7 @@ impl<'a, 'tcx> LateLintPass<'a, 'tcx> for BoolComparison { ignore_case, Some((|h| h, "greater than checks against false are unnecessary")), Some(( - |l: Sugg<'_>, r: Sugg<'_>| l.and(&(!r)), + |l: Sugg<'_>, r: Sugg<'_>| l.bit_and(&(!r)), "order comparisons between booleans can be simplified", )), ), diff --git a/clippy_lints/src/utils/sugg.rs b/clippy_lints/src/utils/sugg.rs index c5f4a61fe8c..66f18b51f21 100644 --- a/clippy_lints/src/utils/sugg.rs +++ b/clippy_lints/src/utils/sugg.rs @@ -174,6 +174,11 @@ impl<'a> Sugg<'a> { make_binop(ast::BinOpKind::And, &self, rhs) } + /// Convenience method to create the `<lhs> & <rhs>` suggestion. + pub fn bit_and(self, rhs: &Self) -> Sugg<'static> { + make_binop(ast::BinOpKind::BitAnd, &self, rhs) + } + /// Convenience method to create the `<lhs> as <rhs>` suggestion. pub fn as_ty<R: Display>(self, rhs: R) -> Sugg<'static> { make_assoc(AssocOp::As, &self, &Sugg::NonParen(rhs.to_string().into())) diff --git a/tests/ui/bool_comparison.stderr b/tests/ui/bool_comparison.stderr index d28052676eb..9a12a8f089a 100644 --- a/tests/ui/bool_comparison.stderr +++ b/tests/ui/bool_comparison.stderr @@ -76,13 +76,13 @@ error: order comparisons between booleans can be simplified --> $DIR/bool_comparison.rs:74:8 | 74 | if x < y { - | ^^^^^ help: try simplifying it as shown: `!x && y` + | ^^^^^ help: try simplifying it as shown: `!x & y` error: order comparisons between booleans can be simplified --> $DIR/bool_comparison.rs:79:8 | 79 | if x > y { - | ^^^^^ help: try simplifying it as shown: `x && !y` + | ^^^^^ help: try simplifying it as shown: `x & !y` error: aborting due to 14 previous errors |
