-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[flake8-simplify] Fix false negatives for shadowed bindings (SIM910, SIM911)
#18794
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ariable is named `dict`
|
| code | total | + violation | - violation | + fix | - fix |
|---|---|---|---|---|---|
| SIM910 | 4 | 4 | 0 | 0 | 0 |
Linter (preview)
ℹ️ ecosystem check detected linter changes. (+4 -0 violations, +0 -0 fixes in 3 projects; 52 projects unchanged)
apache/airflow (+1 -0 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --ignore RUF9 --no-fix --output-format concise --preview --select ALL
+ providers/google/src/airflow/providers/google/cloud/log/stackdriver_task_handler.py:233:27: SIM910 [*] Use `metadata.get("next_page_token")` instead of `metadata.get("next_page_token", None)`
mlflow/mlflow (+1 -0 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --ignore RUF9 --no-fix --output-format concise --preview
+ mlflow/pyfunc/loaders/chat_agent.py:66:25: SIM910 [*] Use `dict_input.get("custom_inputs")` instead of `dict_input.get("custom_inputs", None)`
astropy/astropy (+2 -0 violations, +0 -0 fixes)
ruff check --no-cache --exit-zero --ignore RUF9 --no-fix --output-format concise --preview
+ astropy/coordinates/tests/test_sky_coord.py:158:12: SIM910 [*] Use `attrs0.get(attrnm)` instead of `attrs0.get(attrnm, None)` + astropy/utils/data.py:1780:25: SIM910 [*] Use `sources.get(u)` instead of `sources.get(u, None)`
Changes by rule (1 rules affected)
| code | total | + violation | - violation | + fix | - fix |
|---|---|---|---|---|---|
| SIM910 | 4 | 4 | 0 | 0 | 0 |
ntBre
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, this makes sense to me. And good catch on the tests not running!
I'll update the title to be something about shadowing. As the ecosystem report shows, this wasn't actually specific to the dict name, just that dict was shadowing the builtin and thus not the only_binding.
flake8-simplify] Fix false positives in SIM910 and SIM911 if variable is named dictflake8-simplify] Fix false negatives for shadowed bindings (SIM910 , SIM911)
flake8-simplify] Fix false negatives for shadowed bindings (SIM910 , SIM911)flake8-simplify] Fix false negatives for shadowed bindings (SIM910, SIM911)
* main: (21 commits) [`flake8-logging`] Avoid false positive for `exc_info=True` outside `logger.exception` (`LOG014`) (#18737) [`flake8-pie`] Small docs fix to `PIE794` (#18829) [`pylint`] Ignore __init__.py files in (PLC0414) (#18400) Avoid generating diagnostics with per-file ignores (#18801) [`flake8-simplify`] Fix false negatives for shadowed bindings (`SIM910`, `SIM911`) (#18794) [ty] Fix panics when pulling types for `ClassVar` or `Final` parameterized with >1 argument (#18824) [`pylint`] add fix safety section (`PLR1714`) (#18415) [Perflint] Small docs improvement to `PERF401` (#18786) [`pylint`] Avoid flattening nested `min`/`max` when outer call has single argument (`PLW3301`) (#16885) [`ruff`] Added `cls.__dict__.get('__annotations__')` check (`RUF063`) (#18233) [ty] Use `HashTable` in `PlaceTable` (#18819) docs: Correct collections-named-tuple example to use PascalCase assignment (#16884) [ty] ecosystem-analyzer workflow (#18719) [ty] Add support for `@staticmethod`s (#18809) unnecessary_dict_kwargs doc - a note on type checking benefits (#18666) [`flake8-pytest-style`] Mark autofix for `PT001` and `PT023` as unsafe if there's comments in the decorator (#18792) [ty] Surface matched overload diagnostic directly (#18452) [ty] Report when a dataclass contains more than one `KW_ONLY` field (#18731) [`flake8-pie`] Add fix safety section to `PIE794` (#18802) [`pycodestyle`] Add fix safety section to `W291` and `W293` (#18800) ...
Summary
I also noticed that the tests for SIM911 were note being run, so I fixed that.
Fixes #18777
Test Plan
Add regression test