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 native-literals handling of int literal with attribute access #6792

Merged
merged 7 commits into from
Aug 23, 2023

Conversation

zanieb
Copy link
Member

@zanieb zanieb commented Aug 22, 2023

Closes #6788 by special casing integer literals with attribute access — either retaining parenthesis for literals with values (e.g. int(7).denominator to (7).denominator) or leaving calls without values (e.g. int().denominator) unchanged.

@zanieb zanieb added bug Something isn't working fuzzer Surfaced via fuzzing. labels Aug 22, 2023
@zanieb
Copy link
Member Author

zanieb commented Aug 22, 2023

Are there some parenthesized edge-cases I don't know of? Is there an idiomatic way to add parens to an expression?

@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.07      3.6±0.04ms    11.4 MB/sec    1.00      3.3±0.05ms    12.2 MB/sec
formatter/numpy/ctypeslib.py               1.05   709.7±19.13µs    23.5 MB/sec    1.00    677.5±5.26µs    24.6 MB/sec
formatter/numpy/globals.py                 1.03     74.2±0.49µs    39.8 MB/sec    1.00     72.1±1.50µs    40.9 MB/sec
formatter/pydantic/types.py                1.04   1412.7±9.77µs    18.1 MB/sec    1.00  1354.9±30.32µs    18.8 MB/sec
linter/all-rules/large/dataset.py          1.00     10.4±0.05ms     3.9 MB/sec    1.01     10.4±0.05ms     3.9 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      2.8±0.01ms     5.9 MB/sec    1.00      2.9±0.03ms     5.8 MB/sec
linter/all-rules/numpy/globals.py          1.00    313.8±1.19µs     9.4 MB/sec    1.02    321.1±1.92µs     9.2 MB/sec
linter/all-rules/pydantic/types.py         1.00      5.4±0.02ms     4.7 MB/sec    1.00      5.4±0.02ms     4.7 MB/sec
linter/default-rules/large/dataset.py      1.00      5.5±0.01ms     7.4 MB/sec    1.01      5.6±0.01ms     7.3 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00   1180.3±2.26µs    14.1 MB/sec    1.00   1178.0±3.41µs    14.1 MB/sec
linter/default-rules/numpy/globals.py      1.00    121.2±0.38µs    24.3 MB/sec    1.03    125.0±2.60µs    23.6 MB/sec
linter/default-rules/pydantic/types.py     1.00      2.5±0.01ms    10.2 MB/sec    1.01      2.5±0.01ms    10.1 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.18      5.2±0.22ms     7.8 MB/sec    1.00      4.4±0.35ms     9.2 MB/sec
formatter/numpy/ctypeslib.py               1.16  1026.1±56.34µs    16.2 MB/sec    1.00   884.4±90.02µs    18.8 MB/sec
formatter/numpy/globals.py                 1.03     96.6±6.40µs    30.5 MB/sec    1.00     94.0±7.77µs    31.4 MB/sec
formatter/pydantic/types.py                1.17      2.2±0.18ms    11.8 MB/sec    1.00  1843.6±100.35µs    13.8 MB/sec
linter/all-rules/large/dataset.py          1.01     17.5±0.82ms     2.3 MB/sec    1.00     17.4±0.98ms     2.3 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      4.6±0.39ms     3.6 MB/sec    1.01      4.7±0.36ms     3.5 MB/sec
linter/all-rules/numpy/globals.py          1.00   567.5±34.49µs     5.2 MB/sec    1.06   602.9±44.78µs     4.9 MB/sec
linter/all-rules/pydantic/types.py         1.00      8.5±0.44ms     3.0 MB/sec    1.05      8.9±0.50ms     2.8 MB/sec
linter/default-rules/large/dataset.py      1.00      9.3±0.53ms     4.4 MB/sec    1.02      9.5±0.59ms     4.3 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1967.2±88.30µs     8.5 MB/sec    1.03      2.0±0.11ms     8.2 MB/sec
linter/default-rules/numpy/globals.py      1.01   244.9±14.95µs    12.0 MB/sec    1.00   242.5±18.34µs    12.2 MB/sec
linter/default-rules/pydantic/types.py     1.00      4.3±0.29ms     6.0 MB/sec    1.04      4.4±0.33ms     5.8 MB/sec

@charliermarsh
Copy link
Member

Is there an idiomatic way to add parens to an expression?

I would just do format("({})", locator.slice(expr.range())).

@zanieb zanieb marked this pull request as ready for review August 22, 2023 21:27
pyupgrade::rules::native_literals(
checker,
call,
checker.semantic().current_expression_parent(),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since we already pass in checker, might more straightforward to do this call in the rule itself?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, I wasn't sure if the rule should assume the expression it's been given is the current one and it seemed safer to push that assumption up to the visitor since it knows that's the case. I'm happy to move it if we tend to make that assumption though!

crates/ruff/src/rules/pyupgrade/rules/native_literals.rs Outdated Show resolved Hide resolved
@zanieb zanieb merged commit 3bb6388 into main Aug 23, 2023
16 checks passed
@zanieb zanieb deleted the fix/native-literals branch August 23, 2023 16:22
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 fuzzer Surfaced via fuzzing.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rules PT009, SIM300, UP018 causes autofix error
2 participants