From 5257cc324c763f42d60eefe2b09c0fdd55d2d6e1 Mon Sep 17 00:00:00 2001 From: Stefan Behnel Date: Fri, 22 Nov 2013 07:48:00 +0100 Subject: [PATCH] always wrap for-iterator node in NextNode after analysing it (might have been replaced) --- Cython/Compiler/Nodes.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/Cython/Compiler/Nodes.py b/Cython/Compiler/Nodes.py index c4a9ee0..c1986c0 100644 --- a/Cython/Compiler/Nodes.py +++ b/Cython/Compiler/Nodes.py @@ -5589,10 +5589,8 @@ class ForInStatNode(LoopNode, StatNode): def analyse_expressions(self, env): self.target = self.target.analyse_target_types(env) self.iterator = self.iterator.analyse_expressions(env) - if self.item is None: - # Hack. Sometimes analyse_declarations not called. - import ExprNodes - self.item = ExprNodes.NextNode(self.iterator) + import ExprNodes + self.item = ExprNodes.NextNode(self.iterator) # must rewrap after analysis self.item = self.item.analyse_expressions(env) if (self.iterator.type.is_ptr or self.iterator.type.is_array) and \ self.target.type.assignable_from(self.iterator.type): -- 2.7.4