PyCQA/flake8-bugbear

B023: false positive for nested function inside loop

開放

#468 建立於 2024年4月25日

 (1 則留言) (0 個反應) (0 位負責人)Python (116 個分叉)github user discovery
bugenhancementhelp wanted

倉庫指標

星標
 (1,116 顆星)
PR 合併指標
 (平均合併 4小時 17分鐘) (30 天內合併 3 個 PR)

描述

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

貢獻者指南