Extend RUF005 to recursive and literal-literal concatenations#4557
Conversation
PR Check ResultsEcosystemℹ️ ecosystem check detected changes. (+10, -5, 0 error(s)) airflow (+9, -5)
+ airflow/providers/apache/beam/hooks/beam.py:262:30: RUF005 [*] Consider `[py_interpreter, *py_options, py_file]` instead of concatenation
- airflow/providers/apache/beam/hooks/beam.py:262:30: RUF005 [*] Consider `[py_interpreter, *py_options]` instead of concatenation
+ airflow/providers/apache/hive/hooks/hive.py:170:16: RUF005 [*] Consider `[hive_bin, *cmd_extra, *hive_params_list]` instead of concatenation
- airflow/providers/apache/hive/hooks/hive.py:170:16: RUF005 [*] Consider `[hive_bin, *cmd_extra]` instead of concatenation
+ airflow/providers/apache/hive/operators/hive_stats.py:172:13: RUF005 [*] Consider `(self.ds, self.dttm, self.table, part_json, r[0][0], r[0][1], r[1])` instead of concatenation
+ airflow/utils/python_virtualenv.py:43:11: RUF005 [*] Consider `[f"{tmp_dir}/bin/pip", "install", *pip_install_options, "-r"]` instead of concatenation
- airflow/utils/python_virtualenv.py:43:11: RUF005 [*] Consider `[f"{tmp_dir}/bin/pip", "install", *pip_install_options]` instead of concatenation
+ tests/providers/amazon/aws/hooks/test_eks.py:1170:17: RUF005 Consider `[POD_EXECUTION_ROLE_ARN, (ClusterAttributes.CLUSTER_NAME, cluster_name), (FargateProfileAttributes.FARGATE_PROFILE_NAME, fargate_profile_name), (FargateProfileAttributes.SELECTORS, selectors)]` instead of concatenation
- tests/providers/amazon/aws/hooks/test_eks.py:754:17: RUF005 Consider `[*NodegroupInputs.REQUIRED, (ClusterAttributes.CLUSTER_NAME, generated_test_data.existing_cluster_name), (NodegroupAttributes.NODEGROUP_NAME, nodegroup_name)]` instead of concatenation
+ tests/providers/apache/hive/operators/test_hive_stats.py:155:13: RUF005 [*] Consider `(hive_stats_collection_operator.ds, hive_stats_collection_operator.dttm, hive_stats_collection_operator.table, mock_json_dumps.return_value, r[0][0], r[0][1], r[1])` instead of concatenation
+ tests/providers/apache/hive/operators/test_hive_stats.py:203:13: RUF005 [*] Consider `(hive_stats_collection_operator.ds, hive_stats_collection_operator.dttm, hive_stats_collection_operator.table, mock_json_dumps.return_value, r[0][0], r[0][1], r[1])` instead of concatenation
+ tests/providers/apache/hive/operators/test_hive_stats.py:251:13: RUF005 [*] Consider `(hive_stats_collection_operator.ds, hive_stats_collection_operator.dttm, hive_stats_collection_operator.table, mock_json_dumps.return_value, r[0][0], r[0][1], r[1])` instead of concatenation
+ tests/utils/test_python_virtualenv.py:64:13: RUF005 [*] Consider `["/VENV/bin/pip", "install", *pip_install_options, "apache-beam[gcp]"]` instead of concatenation
- tests/utils/test_python_virtualenv.py:64:13: RUF005 [*] Consider `["/VENV/bin/pip", "install", *pip_install_options]` instead of concatenationscikit-build (+1, -0)
+ tests/test_issue342_cmake_osx_args_in_setup.py:178:44: RUF005 [*] Consider `["build", *cli_setup_args, "--", *cli_cmake_args]` instead of concatenation
BenchmarkLinuxWindows |
| else if splat_element.is_list_expr() || splat_element.is_tuple_expr() { | ||
| new_elts = other_elements.clone(); | ||
|
|
||
| let mut elts = match splat_element { |
There was a problem hiding this comment.
How would this deal with (1,) + [2] or [1] + (2,)?
There was a problem hiding this comment.
Running ruff on a file with:
a = (1,) + [2]
b = (1, 2, 3) + (4,)
c = (7, 8, 9) + bThe current version outputs a warning only for the last line, whereas the PR in its current state outputs a warning for all three lines. While a warning on the first line is clearly undesired (that's a typing error), should the one on the second line be kept ?
|
Do you mind adding some information to the PR summary around what needed to change, and why? |
|
To be honest I'm not sure I went about it the right way, so if you think that there is a better way to solve the issue I don't mind redoing it another way or trying to tackle a different issue. On another note, I have a question about the formatting of the test fixture. The following test always gets formatted by black during the pre-commit verify: foo + [ # This will be preserved, but doesn't prevent the fix
]Should I remove this test (and maybe include a replacement one), or if it better to use |
…ion.rs Co-authored-by: Micha Reiser <micha@reiser.io>
|
Could you check with |
|
Thank you for the suggestion, I've done that and it got rid of the unwanted warnings. |
konstin
left a comment
There was a problem hiding this comment.
This needs to be updated with the changes from main and a cargo test cargo insta review, otherwise i think it's ready
|
I'll take a look at this tonight and (hopefully) merge. |
RUF005 to recursive and literal-literal concatenations
[](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [ruff](https://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `^0.0.269` -> `^0.0.270` | [](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>charliermarsh/ruff</summary> ### [`v0.0.270`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.270) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.269...v0.0.270) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`flake8-bandit`] Implement `paramiko-call` (`S601`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4500](https://togithub.com/charliermarsh/ruff/pull/4500) - \[`flake8-pyi`] Add autofix for PYI009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4583](https://togithub.com/charliermarsh/ruff/pull/4583) - \[`flake8-pyi`] Implement `PYI013` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - \[`pylint`] Add `duplicate-value` (`W0130`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4515](https://togithub.com/charliermarsh/ruff/pull/4515) - \[`pylint`] Add `named_expr_without_context` (`W0131`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4531](https://togithub.com/charliermarsh/ruff/pull/4531) - \[`ruff`] Extend `RUF005` to recursive and literal-literal concatenations by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4557](https://togithub.com/charliermarsh/ruff/pull/4557) - \[`ruff`] Make ambiguous-unicode detection sensitive to 'word' context by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4552](https://togithub.com/charliermarsh/ruff/pull/4552) - \[`ruff`] Name ambiguous characters by [@​covracer](https://togithub.com/covracer) in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) ##### Settings - Implement `--extend-fixable` option by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4297](https://togithub.com/charliermarsh/ruff/pull/4297) - Support new `extend-per-file-ignores` setting by [@​aacunningham](https://togithub.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4265](https://togithub.com/charliermarsh/ruff/pull/4265) ##### Bug Fixes - Fix RUF010 auto-fix with parenthesis by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4524](https://togithub.com/charliermarsh/ruff/pull/4524) - Parenthesize more sub-expressions in f-string conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4535](https://togithub.com/charliermarsh/ruff/pull/4535) - Fix false-positive for TRY302 if exception cause is given by [@​153957](https://togithub.com/153957) in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - Fix `# isort: split` comment detection in nested blocks by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4584](https://togithub.com/charliermarsh/ruff/pull/4584) - Avoid some false positives in dunder variable assigments by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4508](https://togithub.com/charliermarsh/ruff/pull/4508) - Fix UP032 auto-fix with integers by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4525](https://togithub.com/charliermarsh/ruff/pull/4525) - Improve reference resolution for deferred-annotations-within-classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4509](https://togithub.com/charliermarsh/ruff/pull/4509) - Improve handling of `__qualname__`, `__module__`, and `__class__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4512](https://togithub.com/charliermarsh/ruff/pull/4512) - Include empty success test in JUnit output by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4537](https://togithub.com/charliermarsh/ruff/pull/4537) - Fix SIM110 and SIM111 ranges by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4545](https://togithub.com/charliermarsh/ruff/pull/4545) - Ignore `#region` code folding marks in eradicate rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4546](https://togithub.com/charliermarsh/ruff/pull/4546) - Avoid infinite loop for required imports with isort: off by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4581](https://togithub.com/charliermarsh/ruff/pull/4581) - Make B007 fix relevance stricter by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4607](https://togithub.com/charliermarsh/ruff/pull/4607) - Introduce `tab-size` to correcly calculate the line length with tabulations by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4167](https://togithub.com/charliermarsh/ruff/pull/4167) - Visit `TypeVar` and `NewType` name arguments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4627](https://togithub.com/charliermarsh/ruff/pull/4627) - Improve `Message` sorting performance by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4624](https://togithub.com/charliermarsh/ruff/pull/4624) #### New Contributors - [@​hoel-bagard](https://togithub.com/hoel-bagard) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4516](https://togithub.com/charliermarsh/ruff/pull/4516) - [@​density](https://togithub.com/density) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - [@​Mr-Pepe](https://togithub.com/Mr-Pepe) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4540](https://togithub.com/charliermarsh/ruff/pull/4540) - [@​153957](https://togithub.com/153957) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - [@​covracer](https://togithub.com/covracer) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) **Full Changelog**: astral-sh/ruff@v0.0.269...v0.0.270 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45OC40IiwidXBkYXRlZEluVmVyIjoiMzUuOTguNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <bot@renovateapp.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://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.269` -> `==0.0.270` | [](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>charliermarsh/ruff</summary> ### [`v0.0.270`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.270) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.269...v0.0.270) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`flake8-bandit`] Implement `paramiko-call` (`S601`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4500](https://togithub.com/charliermarsh/ruff/pull/4500) - \[`flake8-pyi`] Add autofix for PYI009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4583](https://togithub.com/charliermarsh/ruff/pull/4583) - \[`flake8-pyi`] Implement `PYI013` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - \[`pylint`] Add `duplicate-value` (`W0130`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4515](https://togithub.com/charliermarsh/ruff/pull/4515) - \[`pylint`] Add `named_expr_without_context` (`W0131`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4531](https://togithub.com/charliermarsh/ruff/pull/4531) - \[`ruff`] Extend `RUF005` to recursive and literal-literal concatenations by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4557](https://togithub.com/charliermarsh/ruff/pull/4557) - \[`ruff`] Make ambiguous-unicode detection sensitive to 'word' context by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4552](https://togithub.com/charliermarsh/ruff/pull/4552) - \[`ruff`] Name ambiguous characters by [@​covracer](https://togithub.com/covracer) in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) ##### Settings - Implement `--extend-fixable` option by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4297](https://togithub.com/charliermarsh/ruff/pull/4297) - Support new `extend-per-file-ignores` setting by [@​aacunningham](https://togithub.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4265](https://togithub.com/charliermarsh/ruff/pull/4265) ##### Bug Fixes - Fix RUF010 auto-fix with parenthesis by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4524](https://togithub.com/charliermarsh/ruff/pull/4524) - Parenthesize more sub-expressions in f-string conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4535](https://togithub.com/charliermarsh/ruff/pull/4535) - Fix false-positive for TRY302 if exception cause is given by [@​153957](https://togithub.com/153957) in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - Fix `# isort: split` comment detection in nested blocks by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4584](https://togithub.com/charliermarsh/ruff/pull/4584) - Avoid some false positives in dunder variable assigments by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4508](https://togithub.com/charliermarsh/ruff/pull/4508) - Fix UP032 auto-fix with integers by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4525](https://togithub.com/charliermarsh/ruff/pull/4525) - Improve reference resolution for deferred-annotations-within-classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4509](https://togithub.com/charliermarsh/ruff/pull/4509) - Improve handling of `__qualname__`, `__module__`, and `__class__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4512](https://togithub.com/charliermarsh/ruff/pull/4512) - Include empty success test in JUnit output by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4537](https://togithub.com/charliermarsh/ruff/pull/4537) - Fix SIM110 and SIM111 ranges by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4545](https://togithub.com/charliermarsh/ruff/pull/4545) - Ignore `#region` code folding marks in eradicate rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4546](https://togithub.com/charliermarsh/ruff/pull/4546) - Avoid infinite loop for required imports with isort: off by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4581](https://togithub.com/charliermarsh/ruff/pull/4581) - Make B007 fix relevance stricter by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4607](https://togithub.com/charliermarsh/ruff/pull/4607) - Introduce `tab-size` to correcly calculate the line length with tabulations by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4167](https://togithub.com/charliermarsh/ruff/pull/4167) - Visit `TypeVar` and `NewType` name arguments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4627](https://togithub.com/charliermarsh/ruff/pull/4627) - Improve `Message` sorting performance by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4624](https://togithub.com/charliermarsh/ruff/pull/4624) #### New Contributors - [@​hoel-bagard](https://togithub.com/hoel-bagard) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4516](https://togithub.com/charliermarsh/ruff/pull/4516) - [@​density](https://togithub.com/density) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - [@​Mr-Pepe](https://togithub.com/Mr-Pepe) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4540](https://togithub.com/charliermarsh/ruff/pull/4540) - [@​153957](https://togithub.com/153957) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - [@​covracer](https://togithub.com/covracer) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) **Full Changelog**: astral-sh/ruff@v0.0.269...v0.0.270 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuNCIsInVwZGF0ZWRJblZlciI6IjM1LjEwMi40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> 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://togithub.com/charliermarsh/ruff) ([changelog](https://togithub.com/charliermarsh/ruff/releases)) | `==0.0.269` -> `==0.0.270` | [](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>charliermarsh/ruff</summary> ### [`v0.0.270`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.270) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.269...v0.0.270) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`flake8-bandit`] Implement `paramiko-call` (`S601`) by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4500](https://togithub.com/charliermarsh/ruff/pull/4500) - \[`flake8-pyi`] Add autofix for PYI009 by [@​qdegraaf](https://togithub.com/qdegraaf) in [https://github.com/charliermarsh/ruff/pull/4583](https://togithub.com/charliermarsh/ruff/pull/4583) - \[`flake8-pyi`] Implement `PYI013` by [@​density](https://togithub.com/density) in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - \[`pylint`] Add `duplicate-value` (`W0130`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4515](https://togithub.com/charliermarsh/ruff/pull/4515) - \[`pylint`] Add `named_expr_without_context` (`W0131`) by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4531](https://togithub.com/charliermarsh/ruff/pull/4531) - \[`ruff`] Extend `RUF005` to recursive and literal-literal concatenations by [@​hoel-bagard](https://togithub.com/hoel-bagard) in [https://github.com/charliermarsh/ruff/pull/4557](https://togithub.com/charliermarsh/ruff/pull/4557) - \[`ruff`] Make ambiguous-unicode detection sensitive to 'word' context by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4552](https://togithub.com/charliermarsh/ruff/pull/4552) - \[`ruff`] Name ambiguous characters by [@​covracer](https://togithub.com/covracer) in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) ##### Settings - Implement `--extend-fixable` option by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4297](https://togithub.com/charliermarsh/ruff/pull/4297) - Support new `extend-per-file-ignores` setting by [@​aacunningham](https://togithub.com/aacunningham) in [https://github.com/charliermarsh/ruff/pull/4265](https://togithub.com/charliermarsh/ruff/pull/4265) ##### Bug Fixes - Fix RUF010 auto-fix with parenthesis by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4524](https://togithub.com/charliermarsh/ruff/pull/4524) - Parenthesize more sub-expressions in f-string conversion by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4535](https://togithub.com/charliermarsh/ruff/pull/4535) - Fix false-positive for TRY302 if exception cause is given by [@​153957](https://togithub.com/153957) in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - Fix `# isort: split` comment detection in nested blocks by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4584](https://togithub.com/charliermarsh/ruff/pull/4584) - Avoid some false positives in dunder variable assigments by [@​scop](https://togithub.com/scop) in [https://github.com/charliermarsh/ruff/pull/4508](https://togithub.com/charliermarsh/ruff/pull/4508) - Fix UP032 auto-fix with integers by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4525](https://togithub.com/charliermarsh/ruff/pull/4525) - Improve reference resolution for deferred-annotations-within-classes by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4509](https://togithub.com/charliermarsh/ruff/pull/4509) - Improve handling of `__qualname__`, `__module__`, and `__class__` by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4512](https://togithub.com/charliermarsh/ruff/pull/4512) - Include empty success test in JUnit output by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4537](https://togithub.com/charliermarsh/ruff/pull/4537) - Fix SIM110 and SIM111 ranges by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4545](https://togithub.com/charliermarsh/ruff/pull/4545) - Ignore `#region` code folding marks in eradicate rules by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4546](https://togithub.com/charliermarsh/ruff/pull/4546) - Avoid infinite loop for required imports with isort: off by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4581](https://togithub.com/charliermarsh/ruff/pull/4581) - Make B007 fix relevance stricter by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4607](https://togithub.com/charliermarsh/ruff/pull/4607) - Introduce `tab-size` to correcly calculate the line length with tabulations by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [https://github.com/charliermarsh/ruff/pull/4167](https://togithub.com/charliermarsh/ruff/pull/4167) - Visit `TypeVar` and `NewType` name arguments by [@​charliermarsh](https://togithub.com/charliermarsh) in [https://github.com/charliermarsh/ruff/pull/4627](https://togithub.com/charliermarsh/ruff/pull/4627) - Improve `Message` sorting performance by [@​MichaReiser](https://togithub.com/MichaReiser) in [https://github.com/charliermarsh/ruff/pull/4624](https://togithub.com/charliermarsh/ruff/pull/4624) #### New Contributors - [@​hoel-bagard](https://togithub.com/hoel-bagard) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4516](https://togithub.com/charliermarsh/ruff/pull/4516) - [@​density](https://togithub.com/density) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4517](https://togithub.com/charliermarsh/ruff/pull/4517) - [@​Mr-Pepe](https://togithub.com/Mr-Pepe) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4540](https://togithub.com/charliermarsh/ruff/pull/4540) - [@​153957](https://togithub.com/153957) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4559](https://togithub.com/charliermarsh/ruff/pull/4559) - [@​covracer](https://togithub.com/covracer) made their first contribution in [https://github.com/charliermarsh/ruff/pull/4448](https://togithub.com/charliermarsh/ruff/pull/4448) **Full Changelog**: astral-sh/ruff@v0.0.269...v0.0.270 </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/allenporter/flux-local). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ1cGRhdGVkSW5WZXIiOiIzNS4xMDIuMTAiLCJ0YXJnZXRCcmFuY2giOiJtYWluIn0=--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This attempts to fix #3496.
It introduces the following changes:
a = [1] + [2]). (I'm not sure if this behavior is desired, it's not directly related to the issue).