Skip to content

Commit

Permalink
Revert use of ParamSpec for functools.wraps
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexWaygood authored and hauntsaninja committed Mar 5, 2023
1 parent 83ecc17 commit 9d84db2
Showing 1 changed file with 6 additions and 25 deletions.
31 changes: 6 additions & 25 deletions mypy/typeshed/stdlib/functools.pyi
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import sys
import types
from _typeshed import SupportsAllComparisons, SupportsItems
from _typeshed import IdentityFunction, SupportsAllComparisons, SupportsItems
from collections.abc import Callable, Hashable, Iterable, Sequence, Sized
from typing import Any, Generic, NamedTuple, TypeVar, overload
from typing_extensions import Literal, ParamSpec, Self, TypeAlias, final
from typing_extensions import Literal, Self, TypeAlias, final

if sys.version_info >= (3, 9):
from types import GenericAlias
Expand All @@ -28,12 +28,10 @@ if sys.version_info >= (3, 8):
if sys.version_info >= (3, 9):
__all__ += ["cache"]

_AnyCallable: TypeAlias = Callable[..., object]

_T = TypeVar("_T")
_S = TypeVar("_S")
_PWrapped = ParamSpec("_PWrapped")
_RWrapped = TypeVar("_RWrapped")
_PWrapper = ParamSpec("_PWrapper")
_RWapper = TypeVar("_RWapper")

@overload
def reduce(function: Callable[[_T, _S], _T], sequence: Iterable[_S], initial: _T) -> _T: ...
Expand Down Expand Up @@ -69,25 +67,8 @@ WRAPPER_ASSIGNMENTS: tuple[
]
WRAPPER_UPDATES: tuple[Literal["__dict__"]]

class _Wrapped(Generic[_PWrapped, _RWrapped, _PWrapper, _RWapper]):
__wrapped__: Callable[_PWrapped, _RWrapped]
def __call__(self, *args: _PWrapper.args, **kwargs: _PWrapper.kwargs) -> _RWapper: ...
# as with ``Callable``, we'll assume that these attributes exist
__name__: str
__qualname__: str

class _Wrapper(Generic[_PWrapped, _RWrapped]):
def __call__(self, f: Callable[_PWrapper, _RWapper]) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWapper]: ...

def update_wrapper(
wrapper: Callable[_PWrapper, _RWapper],
wrapped: Callable[_PWrapped, _RWrapped],
assigned: Sequence[str] = ...,
updated: Sequence[str] = ...,
) -> _Wrapped[_PWrapped, _RWrapped, _PWrapper, _RWapper]: ...
def wraps(
wrapped: Callable[_PWrapped, _RWrapped], assigned: Sequence[str] = ..., updated: Sequence[str] = ...
) -> _Wrapper[_PWrapped, _RWrapped]: ...
def update_wrapper(wrapper: _T, wrapped: _AnyCallable, assigned: Sequence[str] = ..., updated: Sequence[str] = ...) -> _T: ...
def wraps(wrapped: _AnyCallable, assigned: Sequence[str] = ..., updated: Sequence[str] = ...) -> IdentityFunction: ...
def total_ordering(cls: type[_T]) -> type[_T]: ...
def cmp_to_key(mycmp: Callable[[_T, _T], int]) -> Callable[[_T], SupportsAllComparisons]: ...

Expand Down

0 comments on commit 9d84db2

Please sign in to comment.