Python binds list comprehension variables to the local scope which has
caused some subtle bugs. Is it possible to add a warning for this in
pyflakes? I haven't implemented it yet, but here are the example
tests:
def test_listCompVariableUsedOutsideListComp(self):
"""
Test that a variable defined in a list comprehension is not used
outside of the list comprehension.
"""
self.flakes('''
[x for x in range(3)]
print x
''', m.VariableUsedOutsideListComp)
self.flakes('''
[x for x in range(3)]
[x for _ in range(3)]
''', m.VariableUsedOutsideListComp)
def test_listCompVariableAllowReuse(self):
"""
Test that list comprehension variables are allowed to be reused if
redefined.
"""
self.flakes('''
[x for x in range(3)]
[x for x in range(3)]''')
- William
_______________________________________________
code-quality mailing list
[email protected]
https://mail.python.org/mailman/listinfo/code-quality