diff --git a/packages/pyright-internal/src/tests/samples/typeVar12.py b/packages/pyright-internal/src/tests/samples/typeVar12.py index 69699fe2f7ae..f4fb6d9ad018 100644 --- a/packages/pyright-internal/src/tests/samples/typeVar12.py +++ b/packages/pyright-internal/src/tests/samples/typeVar12.py @@ -5,38 +5,46 @@ from typing import Callable, Generic, Optional, ParamSpec, TypeVar -S = TypeVar('S') -T = TypeVar('T') -P = ParamSpec('P') +S = TypeVar("S") +T = TypeVar("T") +P = ParamSpec("P") CallableAlias1 = Callable[[T], T] CallableAlias2 = Callable[[T], T] | T + def func1() -> Callable[[T], T] | None: # This should generate an error. x: Optional[T] = None + def func2() -> Callable[[T], T] | list[T] | None: x: Optional[T] = None + def func3() -> CallableAlias1[T] | None: # This should generate an error. x: Optional[T] = None + def func4() -> CallableAlias2[T] | None: x: Optional[T] = None + def func5() -> Callable[[list[T]], set[T]] | None: # This should generate an error. x: Optional[T] = None + def func6() -> Callable[[list[T]], set[T]] | Callable[[set[T]], set[T]] | None: x: Optional[T] = None + def func7() -> Callable[P, None] | None: # This should generate two errors, once for each P reference. def inner(*args: P.args, **kwargs: P.kwargs) -> None: pass + return @@ -44,8 +52,8 @@ class A(Generic[T]): def method1(self) -> Callable[[T], T] | None: x: Optional[T] = None + class B(Generic[S]): def method1(self) -> Callable[[T], T] | None: # This should generate an error. x: Optional[T] = None -