Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[refurb] Avoid None | None as well as better detection and fix (FURB168) #15779

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

InSyncWithFoo
Copy link
Contributor

@InSyncWithFoo InSyncWithFoo commented Jan 28, 2025

Summary

Resolves #15776.

The rule has been rewritten to address the problems discussed at the aforementioned issue. Additionally, Union[] is now detected and the fix marked as unsafe if there are any comments in the range.

Test Plan

cargo nextest run and cargo insta test.

@InSyncWithFoo
Copy link
Contributor Author

refurb::helpers::generate_none_identity_comparison() and other rules using it need to be rewritten as well. I'll take care of those in a follow-up PR.

Copy link
Contributor

github-actions bot commented Jan 28, 2025

ruff-ecosystem results

Linter (stable)

ℹ️ ecosystem check detected linter changes. (+1 -0 violations, +0 -0 fixes in 1 projects; 54 projects unchanged)

apache/airflow (+1 -0 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --no-fix --output-format concise --no-preview --select ALL

+ tests/core/test_configuration.py:906:16: FURB168 [*] Prefer `is` operator over `isinstance` to check if an object is `None`

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
FURB168 1 1 0 0 0

Linter (preview)

ℹ️ ecosystem check detected linter changes. (+1 -0 violations, +0 -0 fixes in 1 projects; 54 projects unchanged)

apache/airflow (+1 -0 violations, +0 -0 fixes)

ruff check --no-cache --exit-zero --ignore RUF9 --no-fix --output-format concise --preview --select ALL

+ tests/core/test_configuration.py:906:16: FURB168 [*] Prefer `is` operator over `isinstance` to check if an object is `None`

Changes by rule (1 rules affected)

code total + violation - violation + fix - fix
FURB168 1 1 0 0 0

Copy link
Member

@AlexWaygood AlexWaygood left a comment

Choose a reason for hiding this comment

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

Thank you!

@AlexWaygood AlexWaygood self-assigned this Jan 28, 2025
@AlexWaygood AlexWaygood added the bug Something isn't working label Jan 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

FURB168 false negative and false positives
2 participants