Extend repeated-equality-comparison-target to check for mixed orderings and Yoda conditions.#6691
Conversation
PR Check ResultsEcosystemℹ️ ecosystem check detected changes. (+16, -0, 0 error(s)) airflow (+8, -0)
+ airflow/providers/common/sql/operators/sql.py:973:16: PLR1714 Consider merging multiple comparisons: `0 in (cur, ref)`. Use a `set` if the elements are hashable. + airflow/providers/databricks/hooks/databricks_base.py:498:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + airflow/providers/databricks/hooks/databricks_base.py:507:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + airflow/providers/databricks/hooks/databricks_base.py:526:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + airflow/providers/databricks/hooks/databricks_base.py:535:16: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + airflow/providers/google/cloud/hooks/bigquery.py:3281:16: PLR1714 Consider merging multiple comparisons: `0 in (cur, ref)`. Use a `set` if the elements are hashable. + airflow/providers/google/cloud/triggers/bigquery.py:358:22: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + tests/providers/celery/executors/test_celery_executor.py:179:24: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. bokeh (+4, -0)
+ src/bokeh/io/export.py:126:8: PLR1714 Consider merging multiple comparisons: `0 in (image.width, image.height)`. Use a `set` if the elements are hashable. + src/bokeh/layouts.py:450:20: PLR1714 Consider merging multiple comparisons: `0 not in (child.nrows, child.ncols)`. Use a `set` if the elements are hashable. + src/bokeh/server/util.py:236:12: PLR1714 Consider merging multiple comparisons: `p in (h, '*')`. Use a `set` if the elements are hashable. + src/bokeh/sphinxext/bokeh_sampledata_xref.py:176:16: PLR1714 Consider merging multiple comparisons: `node.subfolder in ('all', sp[-2])`. Use a `set` if the elements are hashable. zulip (+4, -0)
+ zerver/actions/message_edit.py:348:9: PLR1714 Consider merging multiple comparisons. Use a `set` if the elements are hashable. + zerver/forms.py:96:8: PLR1714 Consider merging multiple comparisons: `"-" in (subdomain[0], subdomain[-1])`. Use a `set` if the elements are hashable. + zerver/lib/domains.py:15:8: PLR1714 Consider merging multiple comparisons: `"." in (domain[0], domain[-1])`. Use a `set` if the elements are hashable. + zerver/lib/domains.py:20:12: PLR1714 Consider merging multiple comparisons: `"-" in (subdomain[0], subdomain[-1])`. Use a `set` if the elements are hashable.
BenchmarkLinuxWindows |
|
The results from the ecosystem check seem sensible, unless people object to writing stuff like |
| } | ||
|
|
||
| for (left, (count, comparators)) in left_to_comparators { | ||
| for (value, (count, comparators)) in value_to_comparators { |
There was a problem hiding this comment.
@tjkuson - What do you think of this? It's a bit closer to the previous version: we just track the comparators with the thing they're compared against (and this time, including the RHS), then raise if any comparator is used multiple times.
|
|
||
| foo != "a" and "b" != foo and foo != "c" | ||
|
|
||
| foo == "a" or foo == "b" or "c" == bar or "d" == bar # Multiple targets |
There was a problem hiding this comment.
We have odd behavior for this kind of thing on main already:
49 │+repeated_equality_comparison_target.py:40:1: PLR1714 Consider merging multiple comparisons: `foo in ("a", "b")`. Use a `set` if the elements are hashable.
50 │+ |
51 │+38 | foo == bar == "b" or foo == "c" # Multiple comparisons.
52 │+39 |
53 │+40 | foo == "a" or foo == "b" or bar == "c" or bar == "d" # Multiple targets
54 │+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PLR1714
55 │+ |
56 │+
57 │+repeated_equality_comparison_target.py:40:1: PLR1714 Consider merging multiple comparisons: `bar in ("c", "d")`. Use a `set` if the elements are hashable.
58 │+ |
59 │+38 | foo == bar == "b" or foo == "c" # Multiple comparisons.
60 │+39 |
61 │+40 | foo == "a" or foo == "b" or bar == "c" or bar == "d" # Multiple targets
62 │+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ PLR1714
It's not awful because it's not like we autofix this and remove the comparisons, but it'd be nice to have a more targeted range. Anyway...
|
Apologies for not getting back to you on this, I was/am on holiday and forgot to add a GitHub notification! |
|
Apologies for not getting back to you on this, I was/am on holiday away from my computer and forgot to add a GitHub notification! |
|
No prob! Enjoy your holiday :) I just biased towards merging after a few days with the thinking that we can always revisit later. |
[](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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 [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/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>
[](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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 [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/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==-->
[](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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 [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/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>
[](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` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](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 [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6784](https://togithub.com/astral-sh/ruff/pull/6784) - \[`flake8-bugbear`] Update `mutable-argument-default` (`B006`) to use `extend-immutable-calls` when determining if annotations are immutable by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6781](https://togithub.com/astral-sh/ruff/pull/6781) - \[`flake8-pie`] Implement `unnecessary-range-start` (`PIE808`) by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6690](https://togithub.com/astral-sh/ruff/pull/6690) - \[`flake8-pytest-style`] Add autofix for `PT014` by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6698](https://togithub.com/astral-sh/ruff/pull/6698) - \[`pylint`] Implement `no-self-use` (`R6301`) by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6574](https://togithub.com/astral-sh/ruff/pull/6574) - \[`pylint`] Extend `repeated-equality-comparison-target` to check for mixed orderings and Yoda conditions. by [@​tjkuson](https://togithub.com/tjkuson) in [https://github.com/astral-sh/ruff/pull/6691](https://togithub.com/astral-sh/ruff/pull/6691) ##### Settings - Make isort's `detect-same-package` behavior configurable by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6833](https://togithub.com/astral-sh/ruff/pull/6833) ##### Bug Fixes - Apply RUF017 when start is passed via position by [@​hauntsaninja](https://togithub.com/hauntsaninja) in [https://github.com/astral-sh/ruff/pull/6664](https://togithub.com/astral-sh/ruff/pull/6664) - Use `typing_extensions.TypeAlias` for PYI026 fixes on pre-3.10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6696](https://togithub.com/astral-sh/ruff/pull/6696) - Ignore multi-comparisons in `repeated-equality-comparison-target` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6705](https://togithub.com/astral-sh/ruff/pull/6705) - Accept empty inner calls in C414 by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6725](https://togithub.com/astral-sh/ruff/pull/6725) - Allow next in FBT exclusions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6729](https://togithub.com/astral-sh/ruff/pull/6729) - Allow `ctypes.WinError()` in flake8-raise by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6731](https://togithub.com/astral-sh/ruff/pull/6731) - Ignore star imports when importing symbols in fixes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6743](https://togithub.com/astral-sh/ruff/pull/6743) - Support C419 autofixes for set comprehensions by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6744](https://togithub.com/astral-sh/ruff/pull/6744) - Avoid attempting to fix unconventional submodule imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6745](https://togithub.com/astral-sh/ruff/pull/6745) - Don't trigger `eq-without-hash` when `__hash__` is explicitly set to `None` by [@​LaBatata101](https://togithub.com/LaBatata101) in [https://github.com/astral-sh/ruff/pull/6739](https://togithub.com/astral-sh/ruff/pull/6739) - Avoid E231 if comma is at end-of-line by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6747](https://togithub.com/astral-sh/ruff/pull/6747) - Truncate some messages in diagnostics by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6748](https://togithub.com/astral-sh/ruff/pull/6748) - Fix isolation groups for unused imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6774](https://togithub.com/astral-sh/ruff/pull/6774) - Avoid fixing D200 for docstrings that end in escapes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6779](https://togithub.com/astral-sh/ruff/pull/6779) - Parenthesize expressions prior to LibCST parsing by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6742](https://togithub.com/astral-sh/ruff/pull/6742) - Fallback to end-of-file if ends in trailing continuation by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6789](https://togithub.com/astral-sh/ruff/pull/6789) - Confine repeated-equality-comparison-target to names and attributes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6802](https://togithub.com/astral-sh/ruff/pull/6802) - Fix `native-literals` handling of int literal with attribute access by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6792](https://togithub.com/astral-sh/ruff/pull/6792) - Fix `uncessary-coding-comment` fix when there's leading content by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6775](https://togithub.com/astral-sh/ruff/pull/6775) - Avoid attempting to fix PT018 in multi-statement lines by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6829](https://togithub.com/astral-sh/ruff/pull/6829) - Update ERA100 to apply to commented dictionary items with trailing comments by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6822](https://togithub.com/astral-sh/ruff/pull/6822) - Avoid parsing other parts of a format specification if replacements are present by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6858](https://togithub.com/astral-sh/ruff/pull/6858) - Avoid panic in unused arguments rule for parameter-free lambda by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/astral-sh/ruff/pull/6679](https://togithub.com/astral-sh/ruff/pull/6679) - Avoid `C417` for `lambda` with default and variadic parameters by [@​dhruvmanila](https://togithub.com/dhruvmanila) in [https://github.com/astral-sh/ruff/pull/6752](https://togithub.com/astral-sh/ruff/pull/6752) - Add `networkx` to conventional aliases by [@​zanieb](https://togithub.com/zanieb) in [https://github.com/astral-sh/ruff/pull/6778](https://togithub.com/astral-sh/ruff/pull/6778) - Skip serializing cell ID if it's None by [@​harupy](https://togithub.com/harupy) in [https://github.com/astral-sh/ruff/pull/6851](https://togithub.com/astral-sh/ruff/pull/6851) - fix is_raw_string for multiple prefixes by [@​davidszotten](https://togithub.com/davidszotten) in [https://github.com/astral-sh/ruff/pull/6865](https://togithub.com/astral-sh/ruff/pull/6865) - Add jupyter notebook cell ids in 4.5+ if missing by [@​konstin](https://togithub.com/konstin) in [https://github.com/astral-sh/ruff/pull/6853](https://togithub.com/astral-sh/ruff/pull/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>
Summary
Closes #5987. I am not convinced this is the most efficient way to do this, but it works.
Test Plan
cargo test