mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 04:53:36 +00:00
ruff: Enable B023 Function definition does not bind loop variable.
Python’s loop scoping is misdesigned, resulting in a very common gotcha for functions that close over loop variables [1]. The general problem is so bad that even the Go developers plan to break compatibility in order to fix the same design mistake in their language [2]. Enable the Ruff rule function-uses-loop-variable (B023) [3], which conservatively prohibits functions from binding loop variables at all. [1] https://docs.python-guide.org/writing/gotchas/#late-binding-closures [2] https://go.dev/s/loopvar-design [3] https://beta.ruff.rs/docs/rules/function-uses-loop-variable/ Signed-off-by: Anders Kaseorg <anders@zulip.com>
This commit is contained in:
committed by
Tim Abbott
parent
cf4791264c
commit
6988622fe8
@@ -70,10 +70,7 @@ class Command(BaseCommand):
|
||||
lambda: queue_json_publish(queue_name, {}),
|
||||
number=count,
|
||||
)
|
||||
duration = timeit(
|
||||
lambda: worker.start(),
|
||||
number=1,
|
||||
)
|
||||
duration = timeit(worker.start, number=1)
|
||||
print(f" {i}/{reps}: {count}/{duration}s = {count / duration}/s")
|
||||
total_time += duration
|
||||
writer.writerow(
|
||||
|
||||
Reference in New Issue
Block a user