mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-29 13:25:17 +00:00

## Summary Implement [`no-is-type-none`](https://github.com/dosisod/refurb/blob/master/refurb/checks/builtin/no_is_type_none.py) as `type-none-comparison` (`FURB169`). Auto-fixes comparisons that use `type` to compare the type of an object to `type(None)` to a `None` identity check. For example, ```python type(foo) is type(None) ``` becomes ```python foo is None ``` Related to #1348. ## Test Plan `cargo test`
67 lines
704 B
Python
67 lines
704 B
Python
foo = None
|
|
|
|
# Error.
|
|
|
|
type(foo) is type(None)
|
|
|
|
type(None) is type(foo)
|
|
|
|
type(None) is type(None)
|
|
|
|
type(foo) is not type(None)
|
|
|
|
type(None) is not type(foo)
|
|
|
|
type(None) is not type(None)
|
|
|
|
type(foo) == type(None)
|
|
|
|
type(None) == type(foo)
|
|
|
|
type(None) == type(None)
|
|
|
|
type(foo) != type(None)
|
|
|
|
type(None) != type(foo)
|
|
|
|
type(None) != type(None)
|
|
|
|
# Ok.
|
|
|
|
foo is None
|
|
|
|
foo is not None
|
|
|
|
None is foo
|
|
|
|
None is not foo
|
|
|
|
None is None
|
|
|
|
None is not None
|
|
|
|
foo is type(None)
|
|
|
|
type(foo) is None
|
|
|
|
type(None) is None
|
|
|
|
foo is not type(None)
|
|
|
|
type(foo) is not None
|
|
|
|
type(None) is not None
|
|
|
|
foo == type(None)
|
|
|
|
type(foo) == None
|
|
|
|
type(None) == None
|
|
|
|
foo != type(None)
|
|
|
|
type(foo) != None
|
|
|
|
type(None) != None
|
|
|
|
type(foo) > type(None)
|