Skip to content

[pylint] Implement bad-dunder-name (W3201)#6486

Merged
charliermarsh merged 6 commits intoastral-sh:mainfrom
LaBatata101:PLW3201
Aug 11, 2023
Merged

[pylint] Implement bad-dunder-name (W3201)#6486
charliermarsh merged 6 commits intoastral-sh:mainfrom
LaBatata101:PLW3201

Conversation

@LaBatata101
Copy link
Contributor

Summary

Checks for any misspelled dunder name method and for any method defined with __...__ that's not one of the pre-defined methods.

The pre-defined methods encompass all of Python's standard dunder methods.

ref: #970

Test Plan

Snapshots and manual runs of pylint.

@github-actions
Copy link
Contributor

github-actions bot commented Aug 10, 2023

PR Check Results

Ecosystem

✅ ecosystem check detected no changes.

Benchmark

Linux

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00      9.5±0.11ms     4.3 MB/sec    1.00      9.6±0.09ms     4.2 MB/sec
formatter/numpy/ctypeslib.py               1.00  1905.1±25.35µs     8.7 MB/sec    1.01  1922.5±22.59µs     8.7 MB/sec
formatter/numpy/globals.py                 1.00    217.0±4.05µs    13.6 MB/sec    1.01    218.2±4.93µs    13.5 MB/sec
formatter/pydantic/types.py                1.00      4.0±0.04ms     6.3 MB/sec    1.02      4.1±0.04ms     6.2 MB/sec
linter/all-rules/large/dataset.py          1.00     11.6±0.24ms     3.5 MB/sec    1.03     11.9±0.07ms     3.4 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.02      3.2±0.04ms     5.2 MB/sec    1.00      3.2±0.09ms     5.3 MB/sec
linter/all-rules/numpy/globals.py          1.02    457.0±5.61µs     6.5 MB/sec    1.00   446.2±10.72µs     6.6 MB/sec
linter/all-rules/pydantic/types.py         1.04      6.3±0.04ms     4.1 MB/sec    1.00      6.0±0.12ms     4.3 MB/sec
linter/default-rules/large/dataset.py      1.00      6.2±0.07ms     6.6 MB/sec    1.00      6.2±0.09ms     6.5 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1352.3±11.71µs    12.3 MB/sec    1.00  1346.0±17.39µs    12.4 MB/sec
linter/default-rules/numpy/globals.py      1.00    154.3±2.67µs    19.1 MB/sec    1.00    154.6±2.64µs    19.1 MB/sec
linter/default-rules/pydantic/types.py     1.00      2.8±0.03ms     9.1 MB/sec    1.00      2.8±0.03ms     9.1 MB/sec

Windows

group                                      main                                   pr
-----                                      ----                                   --
formatter/large/dataset.py                 1.00     12.1±0.24ms     3.4 MB/sec    1.05     12.7±0.49ms     3.2 MB/sec
formatter/numpy/ctypeslib.py               1.00      2.4±0.10ms     7.0 MB/sec    1.01      2.4±0.08ms     7.0 MB/sec
formatter/numpy/globals.py                 1.00   259.5±11.06µs    11.4 MB/sec    1.03   267.7±15.37µs    11.0 MB/sec
formatter/pydantic/types.py                1.00      5.3±0.20ms     4.9 MB/sec    1.00      5.2±0.15ms     4.9 MB/sec
linter/all-rules/large/dataset.py          1.01     15.7±0.45ms     2.6 MB/sec    1.00     15.6±0.41ms     2.6 MB/sec
linter/all-rules/numpy/ctypeslib.py        1.00      4.3±0.13ms     3.9 MB/sec    1.00      4.2±0.20ms     3.9 MB/sec
linter/all-rules/numpy/globals.py          1.04   542.0±25.10µs     5.4 MB/sec    1.00   523.0±16.24µs     5.6 MB/sec
linter/all-rules/pydantic/types.py         1.04      8.2±0.30ms     3.1 MB/sec    1.00      8.0±0.21ms     3.2 MB/sec
linter/default-rules/large/dataset.py      1.01      8.6±0.16ms     4.7 MB/sec    1.00      8.5±0.26ms     4.8 MB/sec
linter/default-rules/numpy/ctypeslib.py    1.00  1764.1±44.89µs     9.4 MB/sec    1.02  1797.9±86.57µs     9.3 MB/sec
linter/default-rules/numpy/globals.py      1.00    202.9±8.50µs    14.5 MB/sec    1.00   203.4±14.13µs    14.5 MB/sec
linter/default-rules/pydantic/types.py     1.01      3.8±0.12ms     6.6 MB/sec    1.00      3.8±0.10ms     6.7 MB/sec

@LaBatata101
Copy link
Contributor Author

__anext__ shouldn't be reported in disnake/iterators.py

@charliermarsh charliermarsh added the rule Implementing or modifying a lint rule label Aug 11, 2023
@charliermarsh charliermarsh enabled auto-merge (squash) August 11, 2023 01:10
@charliermarsh charliermarsh merged commit eb68add into astral-sh:main Aug 11, 2023
durumu pushed a commit to durumu/ruff that referenced this pull request Aug 12, 2023
## Summary

Checks for any misspelled dunder name method and for any method defined
with `__...__` that's not one of the pre-defined methods.

The pre-defined methods encompass all of Python's standard dunder
methods.

ref: astral-sh#970

## Test Plan
Snapshots and manual runs of pylint.
renovate bot referenced this pull request in allenporter/pyrainbird Aug 19, 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://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.284`
-> `==0.0.285` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.284/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.284/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### What's Changed

##### New rules

- \[`flake8-pytest-style`] Implement `pytest-unittest-raises-assertion`
(`PT027`) by [@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6554](https://github.com/astral-sh/ruff/pull/6554)
- \[`flake8-pytest-style`] Implement
`pytest-duplicate-parametrize-test-cases` (`PT014`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6598](https://github.com/astral-sh/ruff/pull/6598)
- \[`flake8-tidy-imports`] Implement `banned-module-level-imports`
(`TID253`) by [@&#8203;durumu](https://github.com/durumu) in
[https://github.com/astral-sh/ruff/pull/6378](https://github.com/astral-sh/ruff/pull/6378)
- \[`pylint`] Implement `bad-dunder-name` (`W3201`) (in the Ruff
nursery) by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6486](https://github.com/astral-sh/ruff/pull/6486)
- \[`pylint`] Implement `subprocess-run-check` (`W1510`) by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6487](https://github.com/astral-sh/ruff/pull/6487)
- \[`ruff`] Implement `quadratic-list-summation` (`RUF017`) by
[@&#8203;evanrittenhouse](https://github.com/evanrittenhouse) in
[https://github.com/astral-sh/ruff/pull/6489](https://github.com/astral-sh/ruff/pull/6489)

##### Rule changes

- \[`flake8-bugbear`] Add autofix for `B006` by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/6131](https://github.com/astral-sh/ruff/pull/6131)
- \[`flake8-pyi`] Avoid applying `PYI055` to runtime-evaluated
annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6457](https://github.com/astral-sh/ruff/pull/6457)
- \[`flake8-self`] Allow `os._exit` accesses in `SLF001` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6490](https://github.com/astral-sh/ruff/pull/6490)
- \[`perflint`] Ignore `PERF203` if `try` contains loop control flow
statements by
[@&#8203;evanrittenhouse](https://github.com/evanrittenhouse) in
[https://github.com/astral-sh/ruff/pull/6536](https://github.com/astral-sh/ruff/pull/6536)
- \[`pylint`] Check for invalid format type specifiers in nested
replacements for `PLE1300` by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6616](https://github.com/astral-sh/ruff/pull/6616)
- \[`tryceratops`] Omit `NotImplementedError` from `TRY003` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6568](https://github.com/astral-sh/ruff/pull/6568)

##### Settings

- Respect `.ipynb` and `.pyi` sources when linting from stdin by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6628](https://github.com/astral-sh/ruff/pull/6628)
- Support glob patterns for `raises_require_match_for` and
`raises_require_match_for` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6635](https://github.com/astral-sh/ruff/pull/6635)

##### Bug Fixes

- Make `lambda-assignment` fix always-manual in class bodies by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6626](https://github.com/astral-sh/ruff/pull/6626)
- Fix counting of message arguments when msg is provided as a keyword by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6456](https://github.com/astral-sh/ruff/pull/6456)
- Add container types to `E721` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6469](https://github.com/astral-sh/ruff/pull/6469)
- Respect scoping rules when identifying builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6468](https://github.com/astral-sh/ruff/pull/6468)
- Respect tab width in line-length heuristic by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6491](https://github.com/astral-sh/ruff/pull/6491)
- Respect dummy-variable-rgx for unused bound exceptions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6492](https://github.com/astral-sh/ruff/pull/6492)
- Fix detection of top-level imports with newlines in `E402` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6526](https://github.com/astral-sh/ruff/pull/6526)
- Allow if-expression with dual string arms in `invalid-envvar-value` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6538](https://github.com/astral-sh/ruff/pull/6538)
- Add deprecated unittest assertions to PT009 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6572](https://github.com/astral-sh/ruff/pull/6572)
- Avoid unused argument rules when functions call `locals()` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6578](https://github.com/astral-sh/ruff/pull/6578)
- Allow top-level `await` in Jupyter notebooks by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6607](https://github.com/astral-sh/ruff/pull/6607)
- Don't detect `pandas#values` for stores, deletes, or class accesses by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6631](https://github.com/astral-sh/ruff/pull/6631)
- Avoid removing parentheses in `E712` fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6575](https://github.com/astral-sh/ruff/pull/6575)
- Skip whitespace between comments at start of file e.g. for `I002` by
[@&#8203;durumu](https://github.com/durumu) in
[https://github.com/astral-sh/ruff/pull/6523](https://github.com/astral-sh/ruff/pull/6523)
- Add support for nested replacements inside format specifications e.g.
for `PLE1300` by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6616](https://github.com/astral-sh/ruff/pull/6616)

##### Playground

- Shared playground links now use short URLs by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6383](https://github.com/astral-sh/ruff/pull/6383)
- Fix possible JSON parse error on playground load by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6519](https://github.com/astral-sh/ruff/pull/6519)
- Fix unreachable panic in playground by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/6623](https://github.com/astral-sh/ruff/pull/6623)

##### Performance

- Improve tokenizer performance for ASCII only identifiers by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/6609](https://github.com/astral-sh/ruff/pull/6609)

#### New Contributors

- [@&#8203;magic-akari](https://github.com/magic-akari) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/6472](https://github.com/astral-sh/ruff/pull/6472)
- [@&#8203;durumu](https://github.com/durumu) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6378](https://github.com/astral-sh/ruff/pull/6378)
- [@&#8203;jamesbraza](https://github.com/jamesbraza) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6520](https://github.com/astral-sh/ruff/pull/6520)
- [@&#8203;takumaw](https://github.com/takumaw) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6533](https://github.com/astral-sh/ruff/pull/6533)
- [@&#8203;noklam](https://github.com/noklam) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6573](https://github.com/astral-sh/ruff/pull/6573)
- [@&#8203;Teraskull](https://github.com/Teraskull) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6605](https://github.com/astral-sh/ruff/pull/6605)

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate bot referenced this pull request in allenporter/flux-local Aug 20, 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://github.com/astral-sh/ruff),
[changelog](https://github.com/astral-sh/ruff/releases)) | `==0.0.284`
-> `==0.0.285` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/ruff/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/ruff/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/ruff/0.0.284/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/ruff/0.0.284/0.0.285?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

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

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

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

#### What's Changed

##### New rules

- \[`flake8-pytest-style`] Implement `pytest-unittest-raises-assertion`
(`PT027`) by [@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6554](https://github.com/astral-sh/ruff/pull/6554)
- \[`flake8-pytest-style`] Implement
`pytest-duplicate-parametrize-test-cases` (`PT014`) by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6598](https://github.com/astral-sh/ruff/pull/6598)
- \[`flake8-tidy-imports`] Implement `banned-module-level-imports`
(`TID253`) by [@&#8203;durumu](https://github.com/durumu) in
[https://github.com/astral-sh/ruff/pull/6378](https://github.com/astral-sh/ruff/pull/6378)
- \[`pylint`] Implement `bad-dunder-name` (`W3201`) (in the Ruff
nursery) by [@&#8203;LaBatata101](https://github.com/LaBatata101) in
[https://github.com/astral-sh/ruff/pull/6486](https://github.com/astral-sh/ruff/pull/6486)
- \[`pylint`] Implement `subprocess-run-check` (`W1510`) by
[@&#8203;tjkuson](https://github.com/tjkuson) in
[https://github.com/astral-sh/ruff/pull/6487](https://github.com/astral-sh/ruff/pull/6487)
- \[`ruff`] Implement `quadratic-list-summation` (`RUF017`) by
[@&#8203;evanrittenhouse](https://github.com/evanrittenhouse) in
[https://github.com/astral-sh/ruff/pull/6489](https://github.com/astral-sh/ruff/pull/6489)

##### Rule changes

- \[`flake8-bugbear`] Add autofix for `B006` by
[@&#8203;qdegraaf](https://github.com/qdegraaf) in
[https://github.com/astral-sh/ruff/pull/6131](https://github.com/astral-sh/ruff/pull/6131)
- \[`flake8-pyi`] Avoid applying `PYI055` to runtime-evaluated
annotations by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6457](https://github.com/astral-sh/ruff/pull/6457)
- \[`flake8-self`] Allow `os._exit` accesses in `SLF001` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6490](https://github.com/astral-sh/ruff/pull/6490)
- \[`perflint`] Ignore `PERF203` if `try` contains loop control flow
statements by
[@&#8203;evanrittenhouse](https://github.com/evanrittenhouse) in
[https://github.com/astral-sh/ruff/pull/6536](https://github.com/astral-sh/ruff/pull/6536)
- \[`pylint`] Check for invalid format type specifiers in nested
replacements for `PLE1300` by
[@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6616](https://github.com/astral-sh/ruff/pull/6616)
- \[`tryceratops`] Omit `NotImplementedError` from `TRY003` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6568](https://github.com/astral-sh/ruff/pull/6568)

##### Settings

- Respect `.ipynb` and `.pyi` sources when linting from stdin by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6628](https://github.com/astral-sh/ruff/pull/6628)
- Support glob patterns for `raises_require_match_for` and
`raises_require_match_for` by
[@&#8203;harupy](https://github.com/harupy) in
[https://github.com/astral-sh/ruff/pull/6635](https://github.com/astral-sh/ruff/pull/6635)

##### Bug Fixes

- Make `lambda-assignment` fix always-manual in class bodies by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6626](https://github.com/astral-sh/ruff/pull/6626)
- Fix counting of message arguments when msg is provided as a keyword by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6456](https://github.com/astral-sh/ruff/pull/6456)
- Add container types to `E721` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6469](https://github.com/astral-sh/ruff/pull/6469)
- Respect scoping rules when identifying builtins by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6468](https://github.com/astral-sh/ruff/pull/6468)
- Respect tab width in line-length heuristic by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6491](https://github.com/astral-sh/ruff/pull/6491)
- Respect dummy-variable-rgx for unused bound exceptions by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6492](https://github.com/astral-sh/ruff/pull/6492)
- Fix detection of top-level imports with newlines in `E402` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6526](https://github.com/astral-sh/ruff/pull/6526)
- Allow if-expression with dual string arms in `invalid-envvar-value` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6538](https://github.com/astral-sh/ruff/pull/6538)
- Add deprecated unittest assertions to PT009 by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6572](https://github.com/astral-sh/ruff/pull/6572)
- Avoid unused argument rules when functions call `locals()` by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6578](https://github.com/astral-sh/ruff/pull/6578)
- Allow top-level `await` in Jupyter notebooks by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6607](https://github.com/astral-sh/ruff/pull/6607)
- Don't detect `pandas#values` for stores, deletes, or class accesses by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6631](https://github.com/astral-sh/ruff/pull/6631)
- Avoid removing parentheses in `E712` fix by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6575](https://github.com/astral-sh/ruff/pull/6575)
- Skip whitespace between comments at start of file e.g. for `I002` by
[@&#8203;durumu](https://github.com/durumu) in
[https://github.com/astral-sh/ruff/pull/6523](https://github.com/astral-sh/ruff/pull/6523)
- Add support for nested replacements inside format specifications e.g.
for `PLE1300` by [@&#8203;zanieb](https://github.com/zanieb) in
[https://github.com/astral-sh/ruff/pull/6616](https://github.com/astral-sh/ruff/pull/6616)

##### Playground

- Shared playground links now use short URLs by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6383](https://github.com/astral-sh/ruff/pull/6383)
- Fix possible JSON parse error on playground load by
[@&#8203;charliermarsh](https://github.com/charliermarsh) in
[https://github.com/astral-sh/ruff/pull/6519](https://github.com/astral-sh/ruff/pull/6519)
- Fix unreachable panic in playground by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/6623](https://github.com/astral-sh/ruff/pull/6623)

##### Performance

- Improve tokenizer performance for ASCII only identifiers by
[@&#8203;MichaReiser](https://github.com/MichaReiser) in
[https://github.com/astral-sh/ruff/pull/6609](https://github.com/astral-sh/ruff/pull/6609)

#### New Contributors

- [@&#8203;magic-akari](https://github.com/magic-akari) made their
first contribution in
[https://github.com/astral-sh/ruff/pull/6472](https://github.com/astral-sh/ruff/pull/6472)
- [@&#8203;durumu](https://github.com/durumu) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6378](https://github.com/astral-sh/ruff/pull/6378)
- [@&#8203;jamesbraza](https://github.com/jamesbraza) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6520](https://github.com/astral-sh/ruff/pull/6520)
- [@&#8203;takumaw](https://github.com/takumaw) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6533](https://github.com/astral-sh/ruff/pull/6533)
- [@&#8203;noklam](https://github.com/noklam) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6573](https://github.com/astral-sh/ruff/pull/6573)
- [@&#8203;Teraskull](https://github.com/Teraskull) made their first
contribution in
[https://github.com/astral-sh/ruff/pull/6605](https://github.com/astral-sh/ruff/pull/6605)

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

</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:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@LaBatata101 LaBatata101 deleted the PLW3201 branch December 1, 2023 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

rule Implementing or modifying a lint rule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants