I've started #715 ticket investigation.
Here is minimal test case:
# cython: language_level=3
def foo(target):
return [(e for e in t) for t in target]
Crash in the ticket is related to GeneratorExpressionScope (name is
not correct, actually ScopedExprScope or NestedScope)
If you set languange_level to 2 you will see next error:
...
Compiler crash traceback from this point on:
File "/home/vitja/work/cython-vitek-git/Cython/Compiler/ExprNodes.py",
line 7732, in __init__
if not result_type.create_from_py_utility_code(env):
AttributeError: 'UnspecifiedType' object has no attribute
'create_from_py_utility_code'
Since ComprehensionNode.append and ComprehensionNode.loop.body is the
same generator body is created twice in MarkClosureVisitor
So the issue could be solved in two ways:
- Write special handler for ComprehensionNode in MarkClosureVisitor
- Remove append child attribute from ComprehensionNode (it can be
removed completely or just from children attribute list)
--
vitja.
_______________________________________________
cython-devel mailing list
[email protected]
http://mail.python.org/mailman/listinfo/cython-devel