loop-iterator-mutation (B909)#
Derived from the flake8-bugbear linter.
This rule is unstable and in preview. The --preview
flag is required for use.
What it does#
Checks for mutations to an iterable during a loop iteration.
Why is this bad?#
When iterating over an iterable, mutating the iterable can lead to unexpected behavior, like skipping elements or infinite loops.
Example#
items = [1, 2, 3]
for item in items:
print(item)
# Create an infinite loop by appending to the list.
items.append(item)