From c504eff0592d250a828eeeebb30e28867a8e4ab5 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Mon, 14 Feb 2022 19:37:24 +0000 Subject: [PATCH 1/4] `collections`: Add missing reflected BinOp methods --- stdlib/collections/__init__.pyi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/stdlib/collections/__init__.pyi b/stdlib/collections/__init__.pyi index 36849f40a7c0..b07bff6923c3 100644 --- a/stdlib/collections/__init__.pyi +++ b/stdlib/collections/__init__.pyi @@ -94,8 +94,10 @@ class UserList(MutableSequence[_T]): def __setitem__(self, i: slice, o: Iterable[_T]) -> None: ... def __delitem__(self, i: SupportsIndex | slice) -> None: ... def __add__(self: Self, other: Iterable[_T]) -> Self: ... + def __radd__(self: Self, other: Iterable[_T]) -> Self: ... def __iadd__(self: Self, other: Iterable[_T]) -> Self: ... def __mul__(self: Self, n: int) -> Self: ... + def __rmul__(self: Self, n: int) -> Self: ... def __imul__(self: Self, n: int) -> Self: ... def append(self, item: _T) -> None: ... def insert(self, i: int, item: _T) -> None: ... @@ -129,8 +131,11 @@ class UserString(Sequence[UserString]): def __iter__(self: Self) -> Iterator[Self]: ... def __reversed__(self: Self) -> Iterator[Self]: ... def __add__(self: Self, other: object) -> Self: ... + def __radd__(self: Self, other: object) -> Self: ... def __mul__(self: Self, n: int) -> Self: ... + def __rmul__(self: Self, n: int) -> Self: ... def __mod__(self: Self, args: Any) -> Self: ... + def __rmod__(self: Self, template: object) -> Self: ... def capitalize(self: Self) -> Self: ... def casefold(self: Self) -> Self: ... def center(self: Self, width: int, *args: Any) -> Self: ... From 1e0cde68888249658db17924cceb74cfaedc1e06 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Mon, 14 Feb 2022 20:06:59 +0000 Subject: [PATCH 2/4] `UserString.__rmod__` was broken in <= 3.7 --- stdlib/collections/__init__.pyi | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/stdlib/collections/__init__.pyi b/stdlib/collections/__init__.pyi index b07bff6923c3..24962eca9638 100644 --- a/stdlib/collections/__init__.pyi +++ b/stdlib/collections/__init__.pyi @@ -135,7 +135,10 @@ class UserString(Sequence[UserString]): def __mul__(self: Self, n: int) -> Self: ... def __rmul__(self: Self, n: int) -> Self: ... def __mod__(self: Self, args: Any) -> Self: ... - def __rmod__(self: Self, template: object) -> Self: ... + if sys.version_info >= (3, 8): + def __rmod__(self: Self, template: object) -> Self: ... + else: + def __rmod__(self: Self, template: Any) -> Self: ... def capitalize(self: Self) -> Self: ... def casefold(self: Self) -> Self: ... def center(self: Self, width: int, *args: Any) -> Self: ... From dab6b9a0bb46111d11e67c0e11373eb2af23d50f Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 14 Feb 2022 20:08:10 +0000 Subject: [PATCH 3/4] [pre-commit.ci] auto fixes from pre-commit.com hooks --- stdlib/collections/__init__.pyi | 1 + 1 file changed, 1 insertion(+) diff --git a/stdlib/collections/__init__.pyi b/stdlib/collections/__init__.pyi index 24962eca9638..57273b2d5892 100644 --- a/stdlib/collections/__init__.pyi +++ b/stdlib/collections/__init__.pyi @@ -139,6 +139,7 @@ class UserString(Sequence[UserString]): def __rmod__(self: Self, template: object) -> Self: ... else: def __rmod__(self: Self, template: Any) -> Self: ... + def capitalize(self: Self) -> Self: ... def casefold(self: Self) -> Self: ... def center(self: Self, width: int, *args: Any) -> Self: ... From d3795012ce856b7eab8a9da5b80d5b42917e41b7 Mon Sep 17 00:00:00 2001 From: Alex Waygood Date: Mon, 14 Feb 2022 20:13:16 +0000 Subject: [PATCH 4/4] Update stdlib/collections/__init__.pyi Co-authored-by: Jelle Zijlstra --- stdlib/collections/__init__.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/collections/__init__.pyi b/stdlib/collections/__init__.pyi index 57273b2d5892..0a01630df366 100644 --- a/stdlib/collections/__init__.pyi +++ b/stdlib/collections/__init__.pyi @@ -138,7 +138,7 @@ class UserString(Sequence[UserString]): if sys.version_info >= (3, 8): def __rmod__(self: Self, template: object) -> Self: ... else: - def __rmod__(self: Self, template: Any) -> Self: ... + def __rmod__(self: Self, format: Any) -> Self: ... def capitalize(self: Self) -> Self: ... def casefold(self: Self) -> Self: ...