diff --git a/resources/test/fixtures/B015.py b/resources/test/fixtures/B015.py index cc7c08f01b..9453e3cddf 100644 --- a/resources/test/fixtures/B015.py +++ b/resources/test/fixtures/B015.py @@ -22,3 +22,6 @@ data = [x for x in [1, 2, 3] if x in (1, 2)] class TestClass: 1 == 1 + + +print(1 == 1) diff --git a/src/check_ast.rs b/src/check_ast.rs index 1d49c9306b..a7e581bb3d 100644 --- a/src/check_ast.rs +++ b/src/check_ast.rs @@ -809,6 +809,11 @@ where } } StmtKind::Delete { .. } => {} + StmtKind::Expr { value, .. } => { + if self.settings.enabled.contains(&CheckCode::B015) { + flake8_bugbear::plugins::useless_comparison(self, value) + } + } _ => {} } @@ -1334,12 +1339,6 @@ where self.locate_check(Range::from_located(expr)), )); } - - if self.settings.enabled.contains(&CheckCode::B015) { - if let Some(parent) = self.parents.last() { - flake8_bugbear::plugins::useless_comparison(self, left, parent); - } - } } ExprKind::Constant { value: Constant::Str(value), diff --git a/src/flake8_bugbear/plugins/useless_comparison.rs b/src/flake8_bugbear/plugins/useless_comparison.rs index 529d36de7f..5eb4fbc002 100644 --- a/src/flake8_bugbear/plugins/useless_comparison.rs +++ b/src/flake8_bugbear/plugins/useless_comparison.rs @@ -1,14 +1,14 @@ -use rustpython_ast::{Expr, Stmt, StmtKind}; +use rustpython_ast::{Expr, ExprKind}; use crate::ast::types::{CheckLocator, Range}; use crate::check_ast::Checker; use crate::checks::{Check, CheckKind}; -pub fn useless_comparison(checker: &mut Checker, expr: &Expr, parent: &Stmt) { - if let StmtKind::Expr { .. } = &parent.node { +pub fn useless_comparison(checker: &mut Checker, expr: &Expr) { + if let ExprKind::Compare { left, .. } = &expr.node { checker.add_check(Check::new( CheckKind::UselessComparison, - checker.locate_check(Range::from_located(expr)), + checker.locate_check(Range::from_located(left)), )); } }