mirror of
https://github.com/astral-sh/ruff.git
synced 2025-10-01 06:11:43 +00:00
87 lines
1.5 KiB
Python
87 lines
1.5 KiB
Python
foo: object
|
|
|
|
# Errors.
|
|
|
|
if isinstance(foo, type(None)):
|
|
pass
|
|
|
|
if isinstance(foo and bar, type(None)):
|
|
pass
|
|
|
|
if isinstance(foo, (type(None), type(None), type(None))):
|
|
pass
|
|
|
|
if isinstance(foo, type(None)) is True:
|
|
pass
|
|
|
|
if -isinstance(foo, type(None)):
|
|
pass
|
|
|
|
if isinstance(foo, None | type(None)):
|
|
pass
|
|
|
|
if isinstance(foo, type(None) | type(None)):
|
|
pass
|
|
|
|
# A bit contrived, but is both technically valid and equivalent to the above.
|
|
if isinstance(foo, (type(None) | ((((type(None))))) | ((None | type(None))))):
|
|
pass
|
|
|
|
if isinstance(
|
|
foo, # Comment
|
|
None
|
|
):
|
|
...
|
|
|
|
from typing import Union
|
|
|
|
if isinstance(foo, Union[None]):
|
|
...
|
|
|
|
if isinstance(foo, Union[None, None]):
|
|
...
|
|
|
|
if isinstance(foo, Union[None, type(None)]):
|
|
...
|
|
|
|
|
|
# Okay.
|
|
|
|
if isinstance(foo, int):
|
|
pass
|
|
|
|
if isinstance(foo, (int)):
|
|
pass
|
|
|
|
if isinstance(foo, (int, str)):
|
|
pass
|
|
|
|
if isinstance(foo, (int, type(None), str)):
|
|
pass
|
|
|
|
if isinstance(foo, str | None):
|
|
pass
|
|
|
|
if isinstance(foo, Union[None, str]):
|
|
...
|
|
|
|
# This is a TypeError, which the rule ignores.
|
|
if isinstance(foo, None):
|
|
pass
|
|
|
|
# This is also a TypeError, which the rule ignores.
|
|
if isinstance(foo, (None,)):
|
|
pass
|
|
|
|
if isinstance(foo, None | None):
|
|
pass
|
|
|
|
if isinstance(foo, (type(None) | ((((type(None))))) | ((None | None | type(None))))):
|
|
pass
|
|
|
|
# https://github.com/astral-sh/ruff/issues/15776
|
|
def _():
|
|
def type(*args): ...
|
|
|
|
if isinstance(foo, type(None)):
|
|
...
|