PyCQA/flake8-bugbear

B023: false positive for nested function inside loop

Offen

#468 geöffnet am 25.04.2024

 (1 Kommentar) (0 Reaktionen) (0 zugewiesene Personen)Python (116 Forks)github user discovery
bugenhancementhelp wanted

Repository-Metriken

Stars
 (1.116 Sterne)
PR-Merge-Metriken
 (Durchschn. Merge 4h 17m) (3 gemergte PRs in 30 T)

Beschreibung

The following (admittedly bad) code produces what I think must be a false positive:

for _ in range(10):
   foo = []
   def bar():
      foo.append(42)

   bar()
test.py:4:7: B023 Function definition does not bind loop variable 'foo'.

At the very least the warning is confusing because foo is not actually a loop variable.

Using:

flake8 --version
7.0.0 (flake8-bugbear: 24.2.6, flake8-builtins: 2.5.0, mccabe: 0.7.0, pycodestyle: 2.11.1, pyflakes: 3.2.0) CPython 3.10.12 on Linux

Contributor Guide