test TypeAlias too

This commit is contained in:
Brent Westbrook
2025-12-31 17:35:52 -05:00
parent 29e089781d
commit dfd02426a2
2 changed files with 26 additions and 2 deletions

View File

@@ -4,10 +4,12 @@ Regression test for https://github.com/astral-sh/ruff/issues/20096
from __future__ import annotations
from typing import Optional, cast
from typing import Optional, cast, TypeAlias
x: Optional[str] # UP045
x: "Optional[str]" # UP045
cast("Optional[str]", None) # UP045
cast(Optional[str], None) # okay, str | None is a runtime error
x: TypeAlias = "Optional[str]" # UP045
x: TypeAlias = Optional[str] # okay

View File

@@ -10,7 +10,7 @@ UP045 [*] Use `X | None` for type annotations
12 | cast("Optional[str]", None) # UP045
|
help: Convert to `X | None`
7 | from typing import Optional, cast
7 | from typing import Optional, cast, TypeAlias
8 |
9 |
- x: Optional[str] # UP045
@@ -37,6 +37,7 @@ help: Convert to `X | None`
11 + x: "str | None" # UP045
12 | cast("Optional[str]", None) # UP045
13 | cast(Optional[str], None) # okay, str | None is a runtime error
14 | x: TypeAlias = "Optional[str]" # UP045
note: This is an unsafe fix and may change runtime behavior
UP045 [*] Use `X | None` for type annotations
@@ -47,6 +48,7 @@ UP045 [*] Use `X | None` for type annotations
12 | cast("Optional[str]", None) # UP045
| ^^^^^^^^^^^^^
13 | cast(Optional[str], None) # okay, str | None is a runtime error
14 | x: TypeAlias = "Optional[str]" # UP045
|
help: Convert to `X | None`
9 |
@@ -55,4 +57,24 @@ help: Convert to `X | None`
- cast("Optional[str]", None) # UP045
12 + cast("str | None", None) # UP045
13 | cast(Optional[str], None) # okay, str | None is a runtime error
14 | x: TypeAlias = "Optional[str]" # UP045
15 | x: TypeAlias = Optional[str] # okay
note: This is an unsafe fix and may change runtime behavior
UP045 [*] Use `X | None` for type annotations
--> UP045_py39.py:14:17
|
12 | cast("Optional[str]", None) # UP045
13 | cast(Optional[str], None) # okay, str | None is a runtime error
14 | x: TypeAlias = "Optional[str]" # UP045
| ^^^^^^^^^^^^^
15 | x: TypeAlias = Optional[str] # okay
|
help: Convert to `X | None`
11 | x: "Optional[str]" # UP045
12 | cast("Optional[str]", None) # UP045
13 | cast(Optional[str], None) # okay, str | None is a runtime error
- x: TypeAlias = "Optional[str]" # UP045
14 + x: TypeAlias = "str | None" # UP045
15 | x: TypeAlias = Optional[str] # okay
note: This is an unsafe fix and may change runtime behavior