diff --git a/resources/test/fixtures/pyflakes/F841_0.py b/resources/test/fixtures/pyflakes/F841_0.py index 635758415d..4455c69a48 100644 --- a/resources/test/fixtures/pyflakes/F841_0.py +++ b/resources/test/fixtures/pyflakes/F841_0.py @@ -86,3 +86,11 @@ def f(): open("") as ((this, that)), ): print("hello") + + +def f(): + exponential, base_multiplier = 1, 2 + hash_map = { + (exponential := (exponential * base_multiplier) % 3): i + 1 for i in range(2) + } + return hash_map diff --git a/src/ast/visitor.rs b/src/ast/visitor.rs index bcaafa8045..e491f15306 100644 --- a/src/ast/visitor.rs +++ b/src/ast/visitor.rs @@ -266,8 +266,8 @@ pub fn walk_expr<'a, V: Visitor<'a> + ?Sized>(visitor: &mut V, expr: &'a Expr) { } } ExprKind::NamedExpr { target, value } => { - visitor.visit_expr(target); visitor.visit_expr(value); + visitor.visit_expr(target); } ExprKind::BinOp { left, op, right } => { visitor.visit_expr(left); diff --git a/src/checkers/ast.rs b/src/checkers/ast.rs index f7bdc4574a..1dee3d3d56 100644 --- a/src/checkers/ast.rs +++ b/src/checkers/ast.rs @@ -4449,7 +4449,7 @@ impl<'a> Checker<'a> { fn check_deferred_assignments(&mut self) { self.deferred_assignments.reverse(); - while let Some((scopes, _parents)) = self.deferred_assignments.pop() { + while let Some((scopes, ..)) = self.deferred_assignments.pop() { let scope_index = scopes[scopes.len() - 1]; let parent_scope_index = scopes[scopes.len() - 2]; if self.settings.rules.enabled(&Rule::UnusedVariable) {