-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Make C413
fix as suggested for reversed
call
#4891
Make C413
fix as suggested for reversed
call
#4891
Conversation
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinux
Windows
|
My understanding was that the bug wasn't related to In the former case, you're just exactly reversing the order of elements in the list. In the latter, you're performing a stable sort. The difference comes down to how it breaks ties. Notice in the issue: >>> original = [(1, 0), (2, 0), (3, 1), (4, 1)]
>>> print(list(reversed(sorted(original, key=lambda x: x[1]))))
[(4, 1), (3, 1), (2, 0), (1, 0)]
>>> print(sorted(original, key=lambda x: x[1], reverse=True))
[(3, 1), (4, 1), (1, 0), (2, 0)] With My inclination here is actually to continue flagging this, but make it a suggested rather than an automatic fix with we rewrite |
Isn't the reason the sorting is different because of the >>> original = [(1, 0), (2, 0), (3, 1), (4, 1)]
>>> list(reversed(sorted(original)))
[(4, 1), (3, 1), (2, 0), (1, 0)]
>>> sorted(original, reverse=True)
[(4, 1), (3, 1), (2, 0), (1, 0)] The fact that I'm open to suggestion and if you think otherwise I'm happy to update the PR accordingly. |
But the key is causing us to sort based on comparing the second element of each tuple — hence the introduction of ties, since multiple tuples have 0 and 1 as their second element. Without the key, the ties are broken based on the data alone, so the stable vs. unstable sort distinction is irrelevant. I think it still comes down to whether the sort is stable, not whether the key is customized. |
Oh, got it. I'll update the PR accordingly. |
Does my explanation make sense though? Do you think it’s correct? |
Yes, the fact that the code is correct but the output might be different makes this a valid diagnostic but could be an incorrect fix. |
C413
for key
is present for sorted
C413
fix as suggested for reversed
call
Thanks :) |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `^0.0.271` -> `^0.0.272` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.271)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.271)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Move flake8-fixme rules to FIX prefix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917) ##### Rules - \[`flake8-pyi`] Implement PYI050 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884) ##### Bug Fixes - Avoid attributing runtime references to module-level imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942) - Skip class scopes when resolving nonlocal references by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943) - Apply `dict.get` fix before ternary rewrite by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944) - Handle implicit string concatenations in conversion-flag rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947) - Make `C413` fix as suggested for `reversed` call by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891) - ignore if using infinite iterators in `B905` by [@​kyoto7250](https://togithub.com/kyoto7250) in [https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914) **Full Changelog**: astral-sh/ruff@v0.0.271...v0.0.272 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `0.0.270` -> `0.0.272` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Move flake8-fixme rules to FIX prefix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917) ##### Rules - \[`flake8-pyi`] Implement PYI050 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884) ##### Bug Fixes - Avoid attributing runtime references to module-level imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942) - Skip class scopes when resolving nonlocal references by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943) - Apply `dict.get` fix before ternary rewrite by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944) - Handle implicit string concatenations in conversion-flag rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947) - Make `C413` fix as suggested for `reversed` call by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891) - ignore if using infinite iterators in `B905` by [@​kyoto7250](https://togithub.com/kyoto7250) in [https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914) **Full Changelog**: astral-sh/ruff@v0.0.271...v0.0.272 ### [`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - Add autofix for flake8-type-checking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742) - \[`airflow`] Add AIR001: task variable name should be same as task_id arg by [@​jlaneve](https://togithub.com/jlaneve) in [https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687) - \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504) - \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882) - \[`flake8-fixme`] Implement `flake8_fixme` and refactor `TodoDirective` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681) - \[`flake8-future-annotations`] Implement `FA102` by [@​akx](https://togithub.com/akx) in [https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702) - \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756) - \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764) - \[`flake8-pyi`] Add `PYI032` rule with autofix by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695) - \[`flake8-pyi`] Add autofix for PYI010 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634) - \[`flake8-pyi`] Implement PYI029 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851) - \[`flake8-pyi`] Implement PYI035 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820) - \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645) - \[`flake8-pyi`] Implement PYI053 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770) - \[`flake8-pyi`] Implement PYI054 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775) - \[`flake8-pyi`] Implement `PYI025` by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791) - \[`flake8-pyi`] Implement `PYI045` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700) - \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as `PLC0208` (`iteration-over-set`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706) - \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792) - \[`pylint`] Implement Pylint's `yield-inside-async-function` rule (`PLE1700`) by [@​chanman3388](https://togithub.com/chanman3388) in [https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668) - \[`pylint`] implement E307 for pylint invalid str return type by [@​Ryang20718](https://togithub.com/Ryang20718) in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - \[`ruff`] Lint pyproject.toml by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496) - \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797) ##### Settings - Add `pyflakes.extend-generics` setting by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677) ##### Bug Fixes - Fix PLW3301 false positive single argument nested min/max by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683) - Handle dotted alias imports to check for implicit imports by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685) - Flag empty strings in flake8-errmsg rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745) - Exclude function definition from too-many-statements rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794) - Preserve quotes in F523 fixer by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836) - Fix round-tripping of nested functions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875) - Avoid early-exit in explicit-f-string-type-conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886) - Avoid no-op fix for nested with expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906) - Fix UP036 auto-fix error by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679) - Use class name as range for `B024` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647) - Change TODO directive detection to work with multiple pound signs on the same line by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558) - Allow more immutable funcs for RUF009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660) - Avoid using typing-imported symbols for runtime edits by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649) - Fix `async for` formatting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675) - Ignore **setattr** in FBT003 by [@​alexfikl](https://togithub.com/alexfikl) in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - Include ImportError in non-fixable try-catch imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793) - Avoid extra newline between diagnostics in grouped mode by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776) - Avoid enforcing native-literals rule within nested f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488) - Respect mixed variable assignment in RET504 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835) - Make FLY002 autofix into a constant string instead of an f-string if all `join()` arguments are strings by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834) - Add some exceptions for FBT003 ([#​3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - Avoid running RUF100 rules when code contains syntax errors by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869) - Avoid index-out-of-bands panic for positional placeholders by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872) - Remove destructive fixes for F523 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883) - Respect shadowed exports in `__all__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885) - Track symbol deletions separately from bindings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888) - Change fixable_set to include RuleSelector::All/Nursery by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852) #### New Contributors - [@​bersbersbers](https://togithub.com/bersbersbers) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644) - [@​jlaneve](https://togithub.com/jlaneve) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690) - [@​suharnikov](https://togithub.com/suharnikov) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678) - [@​alexfikl](https://togithub.com/alexfikl) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - [@​Ryang20718](https://togithub.com/Ryang20718) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - [@​addisoncrump](https://togithub.com/addisoncrump) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893) **Full Changelog**: astral-sh/ruff@v0.0.270...v0.0.271 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/jankatins/pr-workflow-example). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.270` -> `==0.0.272` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Move flake8-fixme rules to FIX prefix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917) ##### Rules - \[`flake8-pyi`] Implement PYI050 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884) ##### Bug Fixes - Avoid attributing runtime references to module-level imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942) - Skip class scopes when resolving nonlocal references by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943) - Apply `dict.get` fix before ternary rewrite by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944) - Handle implicit string concatenations in conversion-flag rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947) - Make `C413` fix as suggested for `reversed` call by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891) - ignore if using infinite iterators in `B905` by [@​kyoto7250](https://togithub.com/kyoto7250) in [https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914) **Full Changelog**: astral-sh/ruff@v0.0.271...v0.0.272 ### [`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - Add autofix for flake8-type-checking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742) - \[`airflow`] Add AIR001: task variable name should be same as task_id arg by [@​jlaneve](https://togithub.com/jlaneve) in [https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687) - \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504) - \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882) - \[`flake8-fixme`] Implement `flake8_fixme` and refactor `TodoDirective` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681) - \[`flake8-future-annotations`] Implement `FA102` by [@​akx](https://togithub.com/akx) in [https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702) - \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756) - \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764) - \[`flake8-pyi`] Add `PYI032` rule with autofix by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695) - \[`flake8-pyi`] Add autofix for PYI010 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634) - \[`flake8-pyi`] Implement PYI029 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851) - \[`flake8-pyi`] Implement PYI035 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820) - \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645) - \[`flake8-pyi`] Implement PYI053 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770) - \[`flake8-pyi`] Implement PYI054 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775) - \[`flake8-pyi`] Implement `PYI025` by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791) - \[`flake8-pyi`] Implement `PYI045` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700) - \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as `PLC0208` (`iteration-over-set`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706) - \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792) - \[`pylint`] Implement Pylint's `yield-inside-async-function` rule (`PLE1700`) by [@​chanman3388](https://togithub.com/chanman3388) in [https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668) - \[`pylint`] implement E307 for pylint invalid str return type by [@​Ryang20718](https://togithub.com/Ryang20718) in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - \[`ruff`] Lint pyproject.toml by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496) - \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797) ##### Settings - Add `pyflakes.extend-generics` setting by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677) ##### Bug Fixes - Fix PLW3301 false positive single argument nested min/max by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683) - Handle dotted alias imports to check for implicit imports by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685) - Flag empty strings in flake8-errmsg rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745) - Exclude function definition from too-many-statements rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794) - Preserve quotes in F523 fixer by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836) - Fix round-tripping of nested functions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875) - Avoid early-exit in explicit-f-string-type-conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886) - Avoid no-op fix for nested with expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906) - Fix UP036 auto-fix error by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679) - Use class name as range for `B024` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647) - Change TODO directive detection to work with multiple pound signs on the same line by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558) - Allow more immutable funcs for RUF009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660) - Avoid using typing-imported symbols for runtime edits by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649) - Fix `async for` formatting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675) - Ignore **setattr** in FBT003 by [@​alexfikl](https://togithub.com/alexfikl) in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - Include ImportError in non-fixable try-catch imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793) - Avoid extra newline between diagnostics in grouped mode by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776) - Avoid enforcing native-literals rule within nested f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488) - Respect mixed variable assignment in RET504 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835) - Make FLY002 autofix into a constant string instead of an f-string if all `join()` arguments are strings by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834) - Add some exceptions for FBT003 ([#​3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - Avoid running RUF100 rules when code contains syntax errors by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869) - Avoid index-out-of-bands panic for positional placeholders by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872) - Remove destructive fixes for F523 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883) - Respect shadowed exports in `__all__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885) - Track symbol deletions separately from bindings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888) - Change fixable_set to include RuleSelector::All/Nursery by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852) #### New Contributors - [@​bersbersbers](https://togithub.com/bersbersbers) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644) - [@​jlaneve](https://togithub.com/jlaneve) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690) - [@​suharnikov](https://togithub.com/suharnikov) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678) - [@​alexfikl](https://togithub.com/alexfikl) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - [@​Ryang20718](https://togithub.com/Ryang20718) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - [@​addisoncrump](https://togithub.com/addisoncrump) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893) **Full Changelog**: astral-sh/ruff@v0.0.270...v0.0.271 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.270` -> `==0.0.272` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/compatibility-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.272/confidence-slim/0.0.270)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.272`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.272) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.271...v0.0.272) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Breaking Changes - Move flake8-fixme rules to FIX prefix by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4917](https://togithub.com/charliermarsh/ruff/pull/4917) ##### Rules - \[`flake8-pyi`] Implement PYI050 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4884](https://togithub.com/charliermarsh/ruff/pull/4884) ##### Bug Fixes - Avoid attributing runtime references to module-level imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4942](https://togithub.com/charliermarsh/ruff/pull/4942) - Skip class scopes when resolving nonlocal references by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4943](https://togithub.com/charliermarsh/ruff/pull/4943) - Apply `dict.get` fix before ternary rewrite by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4944](https://togithub.com/charliermarsh/ruff/pull/4944) - Handle implicit string concatenations in conversion-flag rewrites by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4947](https://togithub.com/charliermarsh/ruff/pull/4947) - Make `C413` fix as suggested for `reversed` call by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4891](https://togithub.com/charliermarsh/ruff/pull/4891) - ignore if using infinite iterators in `B905` by [@​kyoto7250](https://togithub.com/kyoto7250) in [https://github.com/charliermarsh/ruff/pull/4914](https://togithub.com/charliermarsh/ruff/pull/4914) **Full Changelog**: astral-sh/ruff@v0.0.271...v0.0.272 ### [`v0.0.271`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.271) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.270...v0.0.271) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - Add autofix for flake8-type-checking by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4742](https://togithub.com/charliermarsh/ruff/pull/4742) - \[`airflow`] Add AIR001: task variable name should be same as task_id arg by [@​jlaneve](https://togithub.com/jlaneve) in [https://github.com/charliermarsh/ruff/pull/4687](https://togithub.com/charliermarsh/ruff/pull/4687) - \[`flake8-bandit`] Implement S609, linux_commands_wildcard_injection by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4504](https://togithub.com/charliermarsh/ruff/pull/4504) - \[`flake8-bugbear`] Move duplicate-value rule to flake8-bugbear by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4882](https://togithub.com/charliermarsh/ruff/pull/4882) - \[`flake8-fixme`] Implement `flake8_fixme` and refactor `TodoDirective` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4681](https://togithub.com/charliermarsh/ruff/pull/4681) - \[`flake8-future-annotations`] Implement `FA102` by [@​akx](https://togithub.com/akx) in [https://github.com/charliermarsh/ruff/pull/4702](https://togithub.com/charliermarsh/ruff/pull/4702) - \[`flake8-pyi`] Add PYI024 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4756](https://togithub.com/charliermarsh/ruff/pull/4756) - \[`flake8-pyi`] Add PYI034 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4764](https://togithub.com/charliermarsh/ruff/pull/4764) - \[`flake8-pyi`] Add `PYI032` rule with autofix by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4695](https://togithub.com/charliermarsh/ruff/pull/4695) - \[`flake8-pyi`] Add autofix for PYI010 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4634](https://togithub.com/charliermarsh/ruff/pull/4634) - \[`flake8-pyi`] Implement PYI029 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4851](https://togithub.com/charliermarsh/ruff/pull/4851) - \[`flake8-pyi`] Implement PYI035 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4820](https://togithub.com/charliermarsh/ruff/pull/4820) - \[`flake8-pyi`] Implement PYI048 for `flake8-pyi` plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4645](https://togithub.com/charliermarsh/ruff/pull/4645) - \[`flake8-pyi`] Implement PYI053 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4770](https://togithub.com/charliermarsh/ruff/pull/4770) - \[`flake8-pyi`] Implement PYI054 by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4775](https://togithub.com/charliermarsh/ruff/pull/4775) - \[`flake8-pyi`] Implement `PYI025` by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4791](https://togithub.com/charliermarsh/ruff/pull/4791) - \[`flake8-pyi`] Implement `PYI045` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4700](https://togithub.com/charliermarsh/ruff/pull/4700) - \[`pylint`] Add Pylint rule `C0208` (`use-sequence-for-iteration`) as `PLC0208` (`iteration-over-set`) by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/charliermarsh/ruff/pull/4706](https://togithub.com/charliermarsh/ruff/pull/4706) - \[`pylint`] Add autofix for `PLR1701` (repeated-isinstance-calls) by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4792](https://togithub.com/charliermarsh/ruff/pull/4792) - \[`pylint`] Implement Pylint's `yield-inside-async-function` rule (`PLE1700`) by [@​chanman3388](https://togithub.com/chanman3388) in [https://github.com/charliermarsh/ruff/pull/4668](https://togithub.com/charliermarsh/ruff/pull/4668) - \[`pylint`] implement E307 for pylint invalid str return type by [@​Ryang20718](https://togithub.com/Ryang20718) in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - \[`ruff`] Lint pyproject.toml by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4496](https://togithub.com/charliermarsh/ruff/pull/4496) - \[`tryceratops`] Ignore error calls with `exc_info` in TRY400 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4797](https://togithub.com/charliermarsh/ruff/pull/4797) ##### Settings - Add `pyflakes.extend-generics` setting by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4677](https://togithub.com/charliermarsh/ruff/pull/4677) ##### Bug Fixes - Fix PLW3301 false positive single argument nested min/max by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4683](https://togithub.com/charliermarsh/ruff/pull/4683) - Handle dotted alias imports to check for implicit imports by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/charliermarsh/ruff/pull/4685](https://togithub.com/charliermarsh/ruff/pull/4685) - Flag empty strings in flake8-errmsg rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4745](https://togithub.com/charliermarsh/ruff/pull/4745) - Exclude function definition from too-many-statements rule by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4794](https://togithub.com/charliermarsh/ruff/pull/4794) - Preserve quotes in F523 fixer by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4836](https://togithub.com/charliermarsh/ruff/pull/4836) - Fix round-tripping of nested functions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4875](https://togithub.com/charliermarsh/ruff/pull/4875) - Avoid early-exit in explicit-f-string-type-conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4886](https://togithub.com/charliermarsh/ruff/pull/4886) - Avoid no-op fix for nested with expressions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4906](https://togithub.com/charliermarsh/ruff/pull/4906) - Fix UP036 auto-fix error by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4679](https://togithub.com/charliermarsh/ruff/pull/4679) - Use class name as range for `B024` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4647](https://togithub.com/charliermarsh/ruff/pull/4647) - Change TODO directive detection to work with multiple pound signs on the same line by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4558](https://togithub.com/charliermarsh/ruff/pull/4558) - Allow more immutable funcs for RUF009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4660](https://togithub.com/charliermarsh/ruff/pull/4660) - Avoid using typing-imported symbols for runtime edits by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4649](https://togithub.com/charliermarsh/ruff/pull/4649) - Fix `async for` formatting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4675](https://togithub.com/charliermarsh/ruff/pull/4675) - Ignore **setattr** in FBT003 by [@​alexfikl](https://togithub.com/alexfikl) in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - Include ImportError in non-fixable try-catch imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4793](https://togithub.com/charliermarsh/ruff/pull/4793) - Avoid extra newline between diagnostics in grouped mode by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4776](https://togithub.com/charliermarsh/ruff/pull/4776) - Avoid enforcing native-literals rule within nested f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4488](https://togithub.com/charliermarsh/ruff/pull/4488) - Respect mixed variable assignment in RET504 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4835](https://togithub.com/charliermarsh/ruff/pull/4835) - Make FLY002 autofix into a constant string instead of an f-string if all `join()` arguments are strings by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4834](https://togithub.com/charliermarsh/ruff/pull/4834) - Add some exceptions for FBT003 ([#​3247](https://togithub.com/charliermarsh/ruff/issues/3247)) by [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - Avoid running RUF100 rules when code contains syntax errors by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4869](https://togithub.com/charliermarsh/ruff/pull/4869) - Avoid index-out-of-bands panic for positional placeholders by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4872](https://togithub.com/charliermarsh/ruff/pull/4872) - Remove destructive fixes for F523 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4883](https://togithub.com/charliermarsh/ruff/pull/4883) - Respect shadowed exports in `__all__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4885](https://togithub.com/charliermarsh/ruff/pull/4885) - Track symbol deletions separately from bindings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4888](https://togithub.com/charliermarsh/ruff/pull/4888) - Change fixable_set to include RuleSelector::All/Nursery by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/4852](https://togithub.com/charliermarsh/ruff/pull/4852) #### New Contributors - [@​bersbersbers](https://togithub.com/bersbersbers) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4644](https://togithub.com/charliermarsh/ruff/pull/4644) - [@​jlaneve](https://togithub.com/jlaneve) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4690](https://togithub.com/charliermarsh/ruff/pull/4690) - [@​suharnikov](https://togithub.com/suharnikov) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4678](https://togithub.com/charliermarsh/ruff/pull/4678) - [@​alexfikl](https://togithub.com/alexfikl) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4752](https://togithub.com/charliermarsh/ruff/pull/4752) - [@​allisonkarlitskaya](https://togithub.com/allisonkarlitskaya) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4867](https://togithub.com/charliermarsh/ruff/pull/4867) - [@​Ryang20718](https://togithub.com/Ryang20718) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4854](https://togithub.com/charliermarsh/ruff/pull/4854) - [@​addisoncrump](https://togithub.com/addisoncrump) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4893](https://togithub.com/charliermarsh/ruff/pull/4893) **Full Changelog**: astral-sh/ruff@v0.0.270...v0.0.271 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMTAuMCIsInVwZGF0ZWRJblZlciI6IjM1LjExMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Summary
When thekey
keyword argument is present, the output forsorted
andreversed
will be different. This is especially true when the elements are itself a collection. The former will sort only as per the given key while the latter will sort using all the elements present in the collection. This could lead to different output for the suggested auto-fix.Look at the comments and the linked issue for description but the gist is that the fix for
reversed
call will beSuggestion
while for others it'll beAutomatic
.Alternative
We could flag the auto-fix as
Suggested
, but I would rather not flag it as the diagnostic itself is incorrect.Test Plan
cargo test
fixes: #4879