Nick Coghlan wrote:
actually made those semantics available as an explicit "parentlocal NAME" declaration ...:
def _list_comp(_outermost_iter): parentlocal item _result = [] for x in _outermost_iter: item = x _result.append(x) return _result _expr_result = _list_comp(items)
I'm not sure that's possible. If I understand correctly, part of the definition of "parent local" is that "parent" refers to the nearest enclosing *non-comprehension* scope, to give the expected result for nested comprehensions. If that's so, then it's impossible to fully decouple its definition from comprehensions.