From 071a616e67f42d6101e7e5277eb31a476f26426e Mon Sep 17 00:00:00 2001 From: Robert Bradshaw Date: Wed, 25 Mar 2009 13:05:22 -0700 Subject: [PATCH] Fix py target for-from loop. --HG-- extra : transplant_source : %03%EF%05%8Dq3%FB%88%89G%2B%BC%7B%A5%A57%3A%C6%0Bs --- Cython/Compiler/Nodes.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py index ec3d3317..2035f070 100644 --- a/Cython/Compiler/Nodes.py +++ b/Cython/Compiler/Nodes.py @@ -3999,8 +3999,16 @@ class ForFromStatNode(LoopNode, StatNode): if self.py_loopvar_node: # Reassign py variable to loop var here. # (For consistancy, should rarely come up in practice.) - pass + import ExprNodes + from_py_node = ExprNodes.CoerceFromPyTypeNode(self.loopvar_node.type, self.target, None) + from_py_node.temp_code = loopvar_name + from_py_node.generate_result_code(code) code.putln("}") + if self.py_loopvar_node: + # This is potentially wasteful, but we don't want the semantics to + # depend on whether or not the loop is a python type. + self.py_loopvar_node.generate_evaluation_code(code) + self.target.generate_assignment_code(self.py_loopvar_node, code) break_label = code.break_label code.set_loop_labels(old_loop_labels) if self.else_clause: -- 2.26.2