[ty] Fix false positives when subscripting an object inferred as having an Intersection type (#18920)

This commit is contained in:
Alex Waygood
2025-06-24 19:39:02 +01:00
committed by GitHub
parent 3220242dec
commit e44c489273
3 changed files with 52 additions and 18 deletions

View File

@@ -210,8 +210,12 @@ def test3(val: tuple[str] | tuple[int] | int):
### Intersection subscript access
```py
from ty_extensions import Intersection, Not
from ty_extensions import Intersection
def test4(val: Intersection[tuple[str], tuple[int]]):
reveal_type(val[0]) # revealed: str & int
class Foo: ...
class Bar: ...
def test4(val: Intersection[tuple[Foo], tuple[Bar]]):
# TODO: should be `Foo & Bar`
reveal_type(val[0]) # revealed: @Todo(Subscript expressions on intersections)
```