Skip to content
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

Fix isolation groups for unused imports #6774

Merged
merged 1 commit into from
Aug 22, 2023
Merged

Conversation

charliermarsh
Copy link
Member

@charliermarsh charliermarsh commented Aug 22, 2023

Summary

The isolation group for unused imports was relying on checker.semantic().current_statement(), which isn't valid for that rule, since it runs over the scope, not the statement. Instead, we need to lookup the isolation group based on the NodeId of the statement.

Our tests didn't catch this, because we mostly have cases that look like this:

if TYPE_CHECKING:
    import shelve
    import importlib

In this case, the two fixes to remove the two unused imports are considered overlapping (since we delete the full line, and the two full lines touch, and we consider exactly-adjacent fixes to be overlapping), and so they don't run in a single pass due to the non-overlapping-fixes requirement. That is: the isolation groups aren't required for this case. They are, however, required for cases like:

if TYPE_CHECKING:
    import shelve

    import importlib

...where the fixes don't overlap.

Closes #6758.

Test Plan

cargo test

@charliermarsh charliermarsh added the bug Something isn't working label Aug 22, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Aug 22, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00      3.8±0.07ms    10.8 MB/sec    1.06      4.0±0.04ms    10.2 MB/sec
formatter/numpy/ctypeslib.py               1.00   790.6±20.60µs    21.1 MB/sec    1.07    843.7±8.85µs    19.7 MB/sec
formatter/numpy/globals.py                 1.00     83.2±2.61µs    35.5 MB/sec    1.08     90.0±1.19µs    32.8 MB/sec
formatter/pydantic/types.py                1.00  1559.7±29.68µs    16.4 MB/sec    1.05  1642.3±16.37µs    15.5 MB/sec
linter/all-rules/large/dataset.py          1.00     11.5±0.17ms     3.5 MB/sec    1.02     11.7±0.14ms     3.5 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      3.2±0.07ms     5.3 MB/sec    1.02      3.2±0.04ms     5.2 MB/sec
linter/all-rules/numpy/globals.py          1.00    463.1±4.70µs     6.4 MB/sec    1.00    462.1±6.15µs     6.4 MB/sec
linter/all-rules/pydantic/types.py         1.02      6.2±0.10ms     4.1 MB/sec    1.00      6.1±0.08ms     4.2 MB/sec
linter/default-rules/large/dataset.py      1.00      6.3±0.07ms     6.5 MB/sec    1.00      6.3±0.12ms     6.5 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1371.4±42.69µs    12.1 MB/sec    1.02  1402.2±18.21µs    11.9 MB/sec
linter/default-rules/numpy/globals.py      1.00    155.5±3.01µs    19.0 MB/sec    1.07    167.1±3.93µs    17.7 MB/sec
linter/default-rules/pydantic/types.py     1.00      2.8±0.04ms     9.2 MB/sec    1.03      2.9±0.04ms     8.9 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00      4.9±0.33ms     8.3 MB/sec    1.01      5.0±0.33ms     8.2 MB/sec
formatter/numpy/ctypeslib.py               1.01   993.7±74.88µs    16.8 MB/sec    1.00   986.1±69.83µs    16.9 MB/sec
formatter/numpy/globals.py                 1.00     98.3±6.13µs    30.0 MB/sec    1.04   102.4±11.65µs    28.8 MB/sec
formatter/pydantic/types.py                1.00      2.0±0.14ms    12.7 MB/sec    1.00      2.0±0.13ms    12.7 MB/sec
linter/all-rules/large/dataset.py          1.00     19.0±0.71ms     2.1 MB/sec    1.00     19.0±0.60ms     2.1 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.01      5.1±0.22ms     3.2 MB/sec    1.00      5.1±0.24ms     3.3 MB/sec
linter/all-rules/numpy/globals.py          1.00   629.3±39.42µs     4.7 MB/sec    1.01   637.8±35.68µs     4.6 MB/sec
linter/all-rules/pydantic/types.py         1.00     10.0±0.54ms     2.6 MB/sec    1.00      9.9±0.50ms     2.6 MB/sec
linter/default-rules/large/dataset.py      1.01     10.6±0.65ms     3.9 MB/sec    1.00     10.5±0.59ms     3.9 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00      2.2±0.08ms     7.7 MB/sec    1.01      2.2±0.16ms     7.6 MB/sec
linter/default-rules/numpy/globals.py      1.00   266.1±18.18µs    11.1 MB/sec    1.00   266.6±16.41µs    11.1 MB/sec
linter/default-rules/pydantic/types.py     1.01      4.6±0.22ms     5.5 MB/sec    1.00      4.6±0.21ms     5.5 MB/sec

@charliermarsh charliermarsh merged commit 749da65 into main Aug 22, 2023
16 checks passed
@charliermarsh charliermarsh deleted the charlie/isolate branch August 22, 2023 15:55
renovate bot added a commit to ixm-one/pytest-cmake-presets that referenced this pull request Aug 25, 2023
[![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://beta.ruff.rs/docs)
([source](https://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `^0.0.285`
-> `^0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6784
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6781
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6690
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6698
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6574
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[astral-sh/ruff#6691

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6833

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) in
[astral-sh/ruff#6664
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6696
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6705
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6725
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6729
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6731
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6743
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6744
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6745
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6739
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6747
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6748
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6774
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6779
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6742
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6789
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6802
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6792
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6775
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6829
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6822
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6858
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6679
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#6752
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6778
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6851
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://togithub.com/davidszotten) in
[astral-sh/ruff#6865
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://togithub.com/konstin) in
[astral-sh/ruff#6853

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</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://developer.mend.io/github/ixm-one/pytest-cmake-presets).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
jankatins added a commit to jankatins/pr-workflow-example that referenced this pull request Aug 26, 2023
[![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://beta.ruff.rs/docs)
([source](https://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `0.0.285`
-> `0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6784
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6781
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6690
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6698
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6574
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[astral-sh/ruff#6691

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6833

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) in
[astral-sh/ruff#6664
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6696
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6705
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6725
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6729
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6731
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6743
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6744
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6745
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6739
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6747
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6748
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6774
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6779
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6742
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6789
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6802
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6792
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6775
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6829
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6822
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6858
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6679
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#6752
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6778
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6851
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://togithub.com/davidszotten) in
[astral-sh/ruff#6865
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://togithub.com/konstin) in
[astral-sh/ruff#6853

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</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://developer.mend.io/github/jankatins/pr-workflow-example).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40MC4zIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->
renovate bot added a commit to allenporter/flux-local that referenced this pull request Aug 26, 2023
[![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://beta.ruff.rs/docs)
([source](https://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.285`
-> `==0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6784
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6781
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6690
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6698
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6574
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[astral-sh/ruff#6691

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6833

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) in
[astral-sh/ruff#6664
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6696
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6705
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6725
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6729
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6731
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6743
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6744
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6745
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6739
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6747
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6748
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6774
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6779
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6742
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6789
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6802
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6792
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6775
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6829
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6822
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6858
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6679
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#6752
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6778
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6851
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://togithub.com/davidszotten) in
[astral-sh/ruff#6865
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://togithub.com/konstin) in
[astral-sh/ruff#6853

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</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://developer.mend.io/github/allenporter/flux-local).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot added a commit to allenporter/pyrainbird that referenced this pull request Aug 27, 2023
[![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://beta.ruff.rs/docs)
([source](https://togithub.com/astral-sh/ruff),
[changelog](https://togithub.com/astral-sh/ruff/releases)) | `==0.0.285`
-> `==0.0.286` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.285/0.0.286?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>astral-sh/ruff (ruff)</summary>

###
[`v0.0.286`](https://togithub.com/astral-sh/ruff/releases/tag/v0.0.286)

[Compare
Source](https://togithub.com/astral-sh/ruff/compare/v0.0.285...v0.0.286)

<!-- Release notes generated using configuration in .github/release.yml
at v0.0.286 -->

#### What's Changed

##### New Rules

- \[`flake8-bugbear`] Update `function-call-in-argument-default`
(`B008`) to ignore arguments with immutable annotations by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6784
- \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use
`extend-immutable-calls` when determining if annotations are immutable
by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6781
- \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6690
- \[`flake8-pytest-style`] Add autofix for `PT014` by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6698
- \[`pylint`] Implement `no-self-use` (`R6301`) by
[@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6574
- \[`pylint`] Extend `repeated-equality-comparison-target` to check for
mixed orderings and Yoda conditions. by
[@&#8203;tjkuson](https://togithub.com/tjkuson) in
[astral-sh/ruff#6691

##### Settings

- Make isort's `detect-same-package` behavior configurable by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6833

##### Bug Fixes

- Apply RUF017 when start is passed via position by
[@&#8203;hauntsaninja](https://togithub.com/hauntsaninja) in
[astral-sh/ruff#6664
- Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6696
- Ignore multi-comparisons in `repeated-equality-comparison-target` by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6705
- Accept empty inner calls in C414 by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6725
- Allow next in FBT exclusions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6729
- Allow `ctypes.WinError()` in flake8-raise by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6731
- Ignore star imports when importing symbols in fixes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6743
- Support C419 autofixes for set comprehensions by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6744
- Avoid attempting to fix unconventional submodule imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6745
- Don't trigger `eq-without-hash` when `__hash__` is explicitly set to
`None` by [@&#8203;LaBatata101](https://togithub.com/LaBatata101) in
[astral-sh/ruff#6739
- Avoid E231 if comma is at end-of-line by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6747
- Truncate some messages in diagnostics by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6748
- Fix isolation groups for unused imports by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6774
- Avoid fixing D200 for docstrings that end in escapes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6779
- Parenthesize expressions prior to LibCST parsing by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6742
- Fallback to end-of-file if ends in trailing continuation by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6789
- Confine repeated-equality-comparison-target to names and attributes by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6802
- Fix `native-literals` handling of int literal with attribute access by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6792
- Fix `uncessary-coding-comment` fix when there's leading content by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6775
- Avoid attempting to fix PT018 in multi-statement lines by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6829
- Update ERA100 to apply to commented dictionary items with trailing
comments by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6822
- Avoid parsing other parts of a format specification if replacements
are present by [@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6858
- Avoid panic in unused arguments rule for parameter-free lambda by
[@&#8203;charliermarsh](https://togithub.com/charliermarsh) in
[astral-sh/ruff#6679
- Avoid `C417` for `lambda` with default and variadic parameters by
[@&#8203;dhruvmanila](https://togithub.com/dhruvmanila) in
[astral-sh/ruff#6752
- Add `networkx` to conventional aliases by
[@&#8203;zanieb](https://togithub.com/zanieb) in
[astral-sh/ruff#6778
- Skip serializing cell ID if it's None by
[@&#8203;harupy](https://togithub.com/harupy) in
[astral-sh/ruff#6851
- fix is_raw_string for multiple prefixes by
[@&#8203;davidszotten](https://togithub.com/davidszotten) in
[astral-sh/ruff#6865
- Add jupyter notebook cell ids in 4.5+ if missing by
[@&#8203;konstin](https://togithub.com/konstin) in
[astral-sh/ruff#6853

**Full Changelog**:
astral-sh/ruff@v0.0.285...v0.0.286

</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://developer.mend.io/github/allenporter/pyrainbird).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi41Ni4wIiwidXBkYXRlZEluVmVyIjoiMzYuNTYuMCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rule F401 causes autofix error
1 participant