diff --git a/stdlib/builtins.pyi b/stdlib/builtins.pyi index ad10ba9dff4c..f599c4e672e0 100644 --- a/stdlib/builtins.pyi +++ b/stdlib/builtins.pyi @@ -1730,11 +1730,16 @@ def pow(base: _SupportsSomeKindOfPow, exp: complex, mod: None = None) -> complex quit: _sitebuiltins.Quitter +class _SupportsReversed(Protocol[_T_co]): + def __reversed__(self) -> _T_co: ... + class reversed(Generic[_T]): @overload def __new__(cls, sequence: Reversible[_T], /) -> Iterator[_T]: ... # type: ignore[misc] @overload - def __new__(cls, sequence: SupportsLenAndGetItem[_T], /) -> Iterator[_T]: ... # type: ignore[misc] + def __new__(cls, sequence: _SupportsReversed[_T], /) -> _T: ... # type: ignore[misc] + @overload + def __new__(cls, sequence: SupportsLenAndGetItem[_T], /) -> reversed[_T]: ... def __iter__(self) -> Self: ... def __next__(self) -> _T: ... def __length_hint__(self) -> int: ...