-
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
[flake8-pyi
] Implement unannotated-assignment-in-stub
(PY052
)
#4293
Conversation
@MichaReiser Opened a new PR |
PR Check ResultsEcosystem✅ ecosystem check detected no changes. BenchmarkLinux
Windows
|
@charliermarsh could I get some feedback on this one, like do I need to add a test for this |
@sladyn98 - Yup, will review this today. |
targets: &[Expr], | ||
value: &Expr, | ||
annotation: Option<&Expr>, | ||
) { |
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.
Rather than add a new method here, can we instead add the enum-related logic within assignment_default_in_stub
? We're now checking is_valid_default_value_without_annotation
multiple times, because it also gets called within assignment_default_in_stub
. And we're avoiding a variety of conditions that need to be checked.
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.
Yeah this makes sense, I refactored it to now include the checks inside assignment_default_in_stub
flake8-pyi
] Implement unannotated-assignment-in-stub
(PY052
)
[![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.267` -> `^0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <[email protected]> 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.267` -> `==0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> 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.267` -> `==0.0.269` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/compatibility-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.269/confidence-slim/0.0.267)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.269`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.269) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.267...v0.0.269) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed (This is a rerelease of `v0.0.268`, which didn't make it to PyPI due to user error. As such, the release notes are copied below.) ##### `pycodestyle` This release includes optimized implementations of a large portion of `pycodestyle`, for those that use Ruff without an autoformatter. In this initial release, the rules are being introduced under a "nursery" flag, which requires that users explicitly select them (e.g., `select = ["E111"]`); in other words, these rules are not yet enabled via `select = ["E"]`. If you're interested in testing the `pycodestyle` rules, you can enable them via: ```toml select = [ "E111", "E112", "E113", "E114", "E115", "E116", "E117", "E201", "E202", "E203", "E211", "E221", "E222", "E223", "E224", "E225", "E226", "E227", "E228", "E231", "E251", "E252", "E261", "E262", "E265", "E266", "E271", "E272", "E273", "E274", "E275", ] ``` These rules will be included as part of the `E` category in a future release. ##### Breaking Changes - \[`pyupgrade`] Remove `keep-runtime-typing` setting by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4427](https://togithub.com/charliermarsh/ruff/pull/4427) ##### Rules - \[`pylint`] Add `duplicate-bases` rule by [@​alonme](https://togithub.com/alonme) in [https://github.com/charliermarsh/ruff/pull/4411](https://togithub.com/charliermarsh/ruff/pull/4411) - \[`pylint`] Fix `PLW3301` auto-fix with generators by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4412](https://togithub.com/charliermarsh/ruff/pull/4412) - \[`flake8-async`] Implement flake8-async plugin by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - \[`pyupgrade`] Enable automatic rewrites of `typing.Deque` and `typing.DefaultDict` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4420](https://togithub.com/charliermarsh/ruff/pull/4420) - \[`flake8-pyi`] Implement `unannotated-assignment-in-stub` (`PY052`) by [@​sladyn98](https://togithub.com/sladyn98) in [https://github.com/charliermarsh/ruff/pull/4293](https://togithub.com/charliermarsh/ruff/pull/4293) - \[`tryceratops`] Implement TRY302 - `raise` after `except` by [@​john-h-k](https://togithub.com/john-h-k) in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) - \[`flake8-bandit`] Improve SQL injection detection logic (`S608`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4499](https://togithub.com/charliermarsh/ruff/pull/4499) - \[`flake8-todos`] Implement `flake8_todos` by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [https://github.com/charliermarsh/ruff/pull/3921](https://togithub.com/charliermarsh/ruff/pull/3921) - \[`flake8-future-annotations`] Implement `flake8-future-annotations` FA100 by [@​TylerYep](https://togithub.com/TylerYep) in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - Enable `pycodestyle` rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/3689](https://togithub.com/charliermarsh/ruff/pull/3689) - Enable `pycodestyle` rules under new "nursery" category by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4407](https://togithub.com/charliermarsh/ruff/pull/4407) ##### Settings - Merge subsettings when extending configurations by [@​bendoerry](https://togithub.com/bendoerry) in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) ##### Bug Fixes - Extend multi-line noqa directives to start-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4490](https://togithub.com/charliermarsh/ruff/pull/4490) - Fix scoping of comprehensions within classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4494](https://togithub.com/charliermarsh/ruff/pull/4494) - Enable autofix for split-assertions at top level by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4405](https://togithub.com/charliermarsh/ruff/pull/4405) - Ignore ANN401 for overridden methods by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4409](https://togithub.com/charliermarsh/ruff/pull/4409) - Fix `RUF010` autofix within f-strings by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4423](https://togithub.com/charliermarsh/ruff/pull/4423) - Update C419 to be a suggested fix by [@​madkinsz](https://togithub.com/madkinsz) in [https://github.com/charliermarsh/ruff/pull/4424](https://togithub.com/charliermarsh/ruff/pull/4424) - Fix expected-indentation errors with end-of-line comments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4438](https://togithub.com/charliermarsh/ruff/pull/4438) - Emit non-logical newlines for "empty" lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4444](https://togithub.com/charliermarsh/ruff/pull/4444) - Avoid emitting empty logical lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4452](https://togithub.com/charliermarsh/ruff/pull/4452) - Avoid flagging missing whitespace for decorators by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4454](https://togithub.com/charliermarsh/ruff/pull/4454) - Remove special-casing for whitespace-around-@​ by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4458](https://togithub.com/charliermarsh/ruff/pull/4458) - Avoid triggering `pd#at` and friends on non-subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4474](https://togithub.com/charliermarsh/ruff/pull/4474) - Include precise tokens for extraneous-whitespace diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4471](https://togithub.com/charliermarsh/ruff/pull/4471) - Allow shebang comments at start-of-file by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4473](https://togithub.com/charliermarsh/ruff/pull/4473) - Bring pycodestyle rules into full compatibility (on SciPy) by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4472](https://togithub.com/charliermarsh/ruff/pull/4472) - Invert quote-style when generating code within f-strings by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4487](https://togithub.com/charliermarsh/ruff/pull/4487) - Fix COM812 false positive in string subscript by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4493](https://togithub.com/charliermarsh/ruff/pull/4493) - Overhaul sdist handling by [@​konstin](https://togithub.com/konstin) in [https://github.com/charliermarsh/ruff/pull/4439](https://togithub.com/charliermarsh/ruff/pull/4439) #### New Contributors - [@​TylerYep](https://togithub.com/TylerYep) made their first contribution in [https://github.com/charliermarsh/ruff/pull/3979](https://togithub.com/charliermarsh/ruff/pull/3979) - [@​yanksyoon](https://togithub.com/yanksyoon) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4428](https://togithub.com/charliermarsh/ruff/pull/4428) - [@​bendoerry](https://togithub.com/bendoerry) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4431](https://togithub.com/charliermarsh/ruff/pull/4431) - [@​qdegraaf](https://togithub.com/qdegraaf) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4432](https://togithub.com/charliermarsh/ruff/pull/4432) - [@​jameslamb](https://togithub.com/jameslamb) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4446](https://togithub.com/charliermarsh/ruff/pull/4446) - [@​john-h-k](https://togithub.com/john-h-k) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4461](https://togithub.com/charliermarsh/ruff/pull/4461) **Full Changelog**: astral-sh/ruff@v0.0.267...v0.0.269 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS45Ni4zIiwidXBkYXRlZEluVmVyIjoiMzUuOTYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This pull request introduces a new function, assignment_default_in_async_stub, to handle async stub cases in flake8_pyi rules. It covers overlapping cases from both
assignment_default_in_stub
andannotated_assignment_default_in_stub
and calls them only when necessary.Expr
is inside a class or an enum class, respectively.assignment_default_in_async_stub
function in simple_defaults.rs to handle cases where assignments have default values in async stubs. The function checks if the current context is inside a non-enum class and calls eitherassignment_default_in_stub
orannotated_assignment_default_in_stub
accordingly.ast/mod.rs
to callassignment_default_in_async_stub
when the is_stub condition is true.This PR aims to improve the handling of async stubs in flake8_pyi rules and provide better diagnostics and error messages.