summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Behnel <stefan_ml@behnel.de>2021-07-13 19:56:24 +0200
committerStefan Behnel <stefan_ml@behnel.de>2021-07-13 21:54:43 +0200
commitbd9de292a28bece865920702065d307a6b14f3be (patch)
treea450f5d655a725d2c96416b0f4b612d8c552c743
parent22891e074d0742a85aaa652560e3f9909e595c62 (diff)
downloadcython-bd9de292a28bece865920702065d307a6b14f3be.tar.gz
Fix: overwrite target node after analysis.
-rw-r--r--Cython/Compiler/Nodes.py2
-rw-r--r--Cython/Compiler/ParseTreeTransforms.py4
2 files changed, 3 insertions, 3 deletions
diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py
index 359dc29a2..2e4a56d47 100644
--- a/Cython/Compiler/Nodes.py
+++ b/Cython/Compiler/Nodes.py
@@ -4951,7 +4951,7 @@ class PyClassDefNode(ClassDefNode):
self.class_result = self.class_result.analyse_expressions(env)
cenv = self.scope
self.body = self.body.analyse_expressions(cenv)
- self.target.analyse_target_expression(env, self.classobj)
+ self.target = self.target.analyse_target_expression(env, self.classobj)
self.class_cell = self.class_cell.analyse_expressions(cenv)
return self
diff --git a/Cython/Compiler/ParseTreeTransforms.py b/Cython/Compiler/ParseTreeTransforms.py
index 0ebfb8adf..25f691833 100644
--- a/Cython/Compiler/ParseTreeTransforms.py
+++ b/Cython/Compiler/ParseTreeTransforms.py
@@ -2446,8 +2446,8 @@ class ExpandInplaceOperators(EnvTransform):
operand2 = rhs,
inplace=True)
# Manually analyse types for new node.
- lhs.analyse_target_types(env)
- dup.analyse_types(env)
+ lhs = lhs.analyse_target_types(env)
+ dup.analyse_types(env) # FIXME: no need to reanalyse the copy, right?
binop.analyse_operation(env)
node = Nodes.SingleAssignmentNode(
node.pos,