Commit 90f8c776 authored by Stefan Behnel's avatar Stefan Behnel

disable tuple(genexpr) as it has a non-obvious negative effect on memory usage...

disable tuple(genexpr) as it has a non-obvious negative effect on memory usage - better let users write tuple([...]) explicitly
parent 556c7e15
...@@ -1186,7 +1186,7 @@ class EarlyReplaceBuiltinCalls(Visitor.EnvTransform): ...@@ -1186,7 +1186,7 @@ class EarlyReplaceBuiltinCalls(Visitor.EnvTransform):
gen_expr_node.pos, loop = exec_code, result_node = result_ref, gen_expr_node.pos, loop = exec_code, result_node = result_ref,
expr_scope = gen_expr_node.expr_scope, orig_func = 'sum') expr_scope = gen_expr_node.expr_scope, orig_func = 'sum')
def _handle_simple_function_tuple(self, node, pos_args): def _DISABLED_handle_simple_function_tuple(self, node, pos_args):
if len(pos_args) == 0: if len(pos_args) == 0:
return ExprNodes.TupleNode(node.pos, args=[], constant_result=()) return ExprNodes.TupleNode(node.pos, args=[], constant_result=())
# This is a bit special - for iterables (including genexps), # This is a bit special - for iterables (including genexps),
......
cimport cython cimport cython
def range_tuple_genexp(int N): ## def range_tuple_genexp(int N):
""" ## """
>>> range_tuple_genexp(5) ## >>> range_tuple_genexp(5)
(0, 1, 2, 3, 4) ## (0, 1, 2, 3, 4)
""" ## """
return tuple(i for i in range(N)) ## return tuple(i for i in range(N))
@cython.test_assert_path_exists('//ForFromStatNode', @cython.test_assert_path_exists('//ForFromStatNode',
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment