PyCQA/flake8-bugbear

B023: false positive for nested function inside loop

Aberta

#468 aberto em 25 de abr. de 2024

 (1 comentário) (0 reação) (0 responsável)Python (116 forks)github user discovery
bugenhancementhelp wanted

Métricas do repositório

Stars
 (1.116 estrelas)
Métricas de merge de PR
 (Mesclagem média 4h 17m) (3 fundiu PRs em 30d)

Description

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

Guia do colaborador