diff --git a/third_party/2and3/deprecated/classic.pyi b/third_party/2and3/deprecated/classic.pyi index 492f6cfe8..6ea15d985 100644 --- a/third_party/2and3/deprecated/classic.pyi +++ b/third_party/2and3/deprecated/classic.pyi @@ -1,6 +1,6 @@ -from typing import Any, Callable, Optional, Type, TypeVar +from typing import Any, Callable, Optional, Type, TypeVar, overload -_T = TypeVar("_T", bound=Callable[..., Any]) +_F = TypeVar("_F", bound=Callable[..., Any]) class ClassicAdapter: reason: str @@ -11,8 +11,11 @@ class ClassicAdapter: self, reason: str = ..., version: str = ..., action: Optional[str] = ..., category: Type[DeprecationWarning] = ..., ) -> None: ... def get_deprecated_msg(self, wrapped: Callable[..., Any], instance: object) -> str: ... - def __call__(self, wrapped: _T) -> Callable[[_T], _T]: ... + def __call__(self, wrapped: _F) -> Callable[[_F], _F]: ... +@overload +def deprecated(__wrapped: _F) -> _F: ... +@overload def deprecated( - *, reason: str = ..., version: str = ..., action: Optional[str] = ..., category: Optional[Type[DeprecationWarning]] = ..., -) -> Callable[[_T], _T]: ... + reason: str = ..., *, version: str = ..., action: Optional[str] = ..., category: Optional[Type[DeprecationWarning]] = ..., +) -> Callable[[_F], _F]: ... diff --git a/third_party/2and3/deprecated/sphinx.pyi b/third_party/2and3/deprecated/sphinx.pyi index 0aa9f47d6..0fa7dbb17 100644 --- a/third_party/2and3/deprecated/sphinx.pyi +++ b/third_party/2and3/deprecated/sphinx.pyi @@ -1,9 +1,9 @@ -from typing import Any, Callable, Optional, Type, TypeVar +from typing import Any, Callable, Optional, Type, TypeVar, overload from typing_extensions import Literal from .classic import ClassicAdapter -_T = TypeVar("_T", bound=Callable[..., Any]) +_F = TypeVar("_F", bound=Callable[..., Any]) class SphinxAdapter(ClassicAdapter): directive: Literal["versionadded", "versionchanged", "deprecated"] @@ -19,10 +19,13 @@ class SphinxAdapter(ClassicAdapter): action: Optional[str] = ..., category: Type[DeprecationWarning] = ..., ) -> None: ... - def __call__(self, wrapped: _T) -> Callable[[_T], _T]: ... + def __call__(self, wrapped: _F) -> Callable[[_F], _F]: ... -def versionadded(reason: str = ..., version: str = ...) -> Callable[[_T], _T]: ... -def versionchanged(reason: str = ..., version: str = ...) -> Callable[[_T], _T]: ... +def versionadded(reason: str = ..., version: str = ...) -> Callable[[_F], _F]: ... +def versionchanged(reason: str = ..., version: str = ...) -> Callable[[_F], _F]: ... +@overload +def deprecated(__wrapped: _F) -> _F: ... +@overload def deprecated( - *, reason: str = ..., version: str = ..., action: Optional[str] = ..., category: Optional[Type[DeprecationWarning]] = ..., -) -> Callable[[_T], _T]: ... + reason: str = ..., *, version: str = ..., action: Optional[str] = ..., category: Optional[Type[DeprecationWarning]] = ..., +) -> Callable[[_F], _F]: ...