-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pylint
] Implement useless-return
(R1711
)
#3116
Conversation
Root ticket for pylint coverage: #970 |
Co-authored-by: Jeong YunWon <69878+youknowone@users.noreply.github.com>
I think the one issue with this rule is that it may conflict with some of the |
Looks like in pylint the rule ignores functions which can return values. https://github.com/PyCQA/pylint/blob/1eef2273aee4c5a2e287f7470d6da3a3ae7d0760/pylint/checkers/refactoring/refactoring_checker.py#L2022 Which makes it the same as/very similar to R501 - https://pypi.org/project/flake8-return/ |
Oh, in that case, it may actually be different than any existing checks? Since none of those tell you to remove a |
But we need to adjust this such that it only warns if this is the only return in the function. |
PR Check ResultsEcosystemℹ️ ecosystem check detected changes. (+18, -0, 0 error(s)) zulip (+2, -0)
+ zerver/lib/streams.py:243:5: PLR1711 [*] Useless `return` statement at end of function
+ zerver/lib/test_helpers.py:122:9: PLR1711 [*] Useless `return` statement at end of function bokeh (+10, -0)
+ src/bokeh/application/application.py:236:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/application/application.py:249:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/client/connection.py:281:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/contexts.py:301:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/contexts.py:321:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/tornado.py:715:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/views/ws.py:223:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/views/ws.py:262:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/views/ws.py:288:9: PLR1711 [*] Useless `return` statement at end of function
+ src/bokeh/server/views/ws.py:335:9: PLR1711 [*] Useless `return` statement at end of function airflow (+6, -0)
+ airflow/providers/google/cloud/operators/dataflow.py:1378:9: PLR1711 [*] Useless `return` statement at end of function
+ airflow/providers/microsoft/azure/sensors/data_factory.py:134:9: PLR1711 [*] Useless `return` statement at end of function
+ airflow/utils/db.py:1475:5: PLR1711 [*] Useless `return` statement at end of function
+ dev/check_files.py:223:5: PLR1711 [*] Useless `return` statement at end of function
+ dev/check_files.py:237:5: PLR1711 [*] Useless `return` statement at end of function
+ tests/jobs/test_scheduler_job.py:1924:17: PLR1711 [*] Useless `return` statement at end of function Windows
|
pylint
] Implement useless-return
(R1711
)
[![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://togithub.com/charliermarsh/ruff) | `^0.0.256` -> `^0.0.257` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/compatibility-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/confidence-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.257`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.257) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.256...v0.0.257) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`ruff`] Prefer `itertools.pairwise()` over `zip()` for successive pairs (`RUF007`) by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [astral-sh/ruff#3501 - \[`flake8-bugbear`] Add `no-explicit-stacklevel` (`B028`) by [@​johnor](https://togithub.com/johnor) in [astral-sh/ruff#3550 - \[`pylint`] invalid-characters-\* by [@​r3m0t](https://togithub.com/r3m0t) in [astral-sh/ruff#3552 - \[`pylint`] Implement `useless-return` (`R1711`) by [@​tomecki](https://togithub.com/tomecki) in [astral-sh/ruff#3116 - \[`pylint`]: Implement `continue-in-finally` (`E0116`) by [@​latonis](https://togithub.com/latonis) in [astral-sh/ruff#3541 ##### Bug Fixes - Rewrite mock import with starred imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3566 - Respect `type` overrides in E721 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3582 - Use `value > max` style in pylint and mccabe messages by [@​edgarrmondragon](https://togithub.com/edgarrmondragon) in [astral-sh/ruff#3553 - Fix autofix conflict between `D209` and `D400` by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [astral-sh/ruff#3564 - Avoid C1901 violations within subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3517 - Avoid adding dashed line outside of docstring by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3581 - Enable ANSI colors on Windows 10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3583 #### New Contributors - [@​johnor](https://togithub.com/johnor) made their first contribution in [astral-sh/ruff#3550 **Full Changelog**: astral-sh/ruff@v0.0.256...v0.0.257 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xMC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTAuMiJ9--> Signed-off-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
[![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://togithub.com/charliermarsh/ruff) | `==0.0.256` -> `==0.0.257` | [![age](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/compatibility-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/ruff/0.0.257/confidence-slim/0.0.256)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>charliermarsh/ruff</summary> ### [`v0.0.257`](https://togithub.com/charliermarsh/ruff/releases/tag/v0.0.257) [Compare Source](https://togithub.com/charliermarsh/ruff/compare/v0.0.256...v0.0.257) <!-- Release notes generated using configuration in .github/release.yml at main --> #### What's Changed ##### Rules - \[`ruff`] Prefer `itertools.pairwise()` over `zip()` for successive pairs (`RUF007`) by [@​evanrittenhouse](https://togithub.com/evanrittenhouse) in [astral-sh/ruff#3501 - \[`flake8-bugbear`] Add `no-explicit-stacklevel` (`B028`) by [@​johnor](https://togithub.com/johnor) in [astral-sh/ruff#3550 - \[`pylint`] invalid-characters-\* by [@​r3m0t](https://togithub.com/r3m0t) in [astral-sh/ruff#3552 - \[`pylint`] Implement `useless-return` (`R1711`) by [@​tomecki](https://togithub.com/tomecki) in [astral-sh/ruff#3116 - \[`pylint`]: Implement `continue-in-finally` (`E0116`) by [@​latonis](https://togithub.com/latonis) in [astral-sh/ruff#3541 ##### Bug Fixes - Rewrite mock import with starred imports by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3566 - Respect `type` overrides in E721 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3582 - Use `value > max` style in pylint and mccabe messages by [@​edgarrmondragon](https://togithub.com/edgarrmondragon) in [astral-sh/ruff#3553 - Fix autofix conflict between `D209` and `D400` by [@​JonathanPlasse](https://togithub.com/JonathanPlasse) in [astral-sh/ruff#3564 - Avoid C1901 violations within subscripts by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3517 - Avoid adding dashed line outside of docstring by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3581 - Enable ANSI colors on Windows 10 by [@​charliermarsh](https://togithub.com/charliermarsh) in [astral-sh/ruff#3583 #### New Contributors - [@​johnor](https://togithub.com/johnor) made their first contribution in [astral-sh/ruff#3550 **Full Changelog**: astral-sh/ruff@v0.0.256...v0.0.257 </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:eyJjcmVhdGVkSW5WZXIiOiIzNS4xNC4yIiwidXBkYXRlZEluVmVyIjoiMzUuMTQuMiJ9--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR implements https://pylint.pycqa.org/en/latest/user_guide/messages/refactor/useless-return.html , including autofixing.
Impl change from original approach: the check locates the actual useless return statements, in contrast to pylint's implemnentation which flags the functions which have useless return statements.