[ty] Improve the display of various special-form types (#21775)

This commit is contained in:
Alex Waygood
2025-12-03 21:19:59 +00:00
committed by GitHub
parent 8ebecb2a88
commit 14fce0d440
20 changed files with 220 additions and 178 deletions

View File

@@ -13,7 +13,7 @@ python-version = "3.10"
class A: ...
class B: ...
reveal_type(A | B) # revealed: types.UnionType
reveal_type(A | B) # revealed: <types.UnionType special form 'A | B'>
```
## Union of two classes (prior to 3.10)
@@ -43,14 +43,14 @@ class A: ...
class B: ...
def _(sub_a: type[A], sub_b: type[B]):
reveal_type(A | sub_b) # revealed: types.UnionType
reveal_type(sub_a | B) # revealed: types.UnionType
reveal_type(sub_a | sub_b) # revealed: types.UnionType
reveal_type(A | sub_b) # revealed: <types.UnionType special form>
reveal_type(sub_a | B) # revealed: <types.UnionType special form>
reveal_type(sub_a | sub_b) # revealed: <types.UnionType special form>
class C[T]: ...
class D[T]: ...
reveal_type(C | D) # revealed: types.UnionType
reveal_type(C | D) # revealed: <types.UnionType special form 'C[Unknown] | D[Unknown]'>
reveal_type(C[int] | D[str]) # revealed: types.UnionType
reveal_type(C[int] | D[str]) # revealed: <types.UnionType special form 'C[int] | D[str]'>
```