[refurb] Avoid None | None as well as better detection and fix (FURB168)#15779
Merged
AlexWaygood merged 4 commits intoastral-sh:mainfrom Jan 31, 2025
Merged
[refurb] Avoid None | None as well as better detection and fix (FURB168)#15779AlexWaygood merged 4 commits intoastral-sh:mainfrom
refurb] Avoid None | None as well as better detection and fix (FURB168)#15779AlexWaygood merged 4 commits intoastral-sh:mainfrom
Conversation
Contributor
Author
|
|
Contributor
|
| 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 |
AlexWaygood
reviewed
Jan 28, 2025
crates/ruff_linter/src/rules/refurb/rules/isinstance_type_none.rs
Outdated
Show resolved
Hide resolved
AlexWaygood
reviewed
Jan 29, 2025
dcreager
added a commit
that referenced
this pull request
Jan 31, 2025
* main: [`flake8-pyi`] Fix several correctness issues with `custom-type-var-return-type` (`PYI019`) (#15851) [`pyupgrade`] Reuse replacement logic from `UP046` and `UP047` (`UP040`) (#15840) [`refurb`] Avoid `None | None` as well as better detection and fix (`FURB168`) (#15779) Remove non-existing `lint.extendIgnore` editor setting (#15844) [`refurb`] Mark fix as unsafe if there are comments (`FURB171`) (#15832) [`flake8-comprehensions`] Skip when `TypeError` present from too many (kw)args for `C410`,`C411`, and `C418` (#15838) [`pyflakes`] Visit forward annotations in `TypeAliasType` as types (`F401`) (#15829)
MichaReiser
pushed a commit
that referenced
this pull request
Feb 5, 2025
## Summary Follow-up to #15779. Prior to this change, non-name expressions are not reported at all: ```python type(a.b) is type(None) # no error ``` This change enhances the rule so that such cases are also reported in preview. Additionally: * The fix will now be marked as unsafe if there are any comments within its range. * Error messages are slightly modified. ## Test Plan `cargo nextest run` and `cargo insta test`. --------- Co-authored-by: Alex Waygood <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 runandcargo insta test.