Skip to content

Commit 4edae94

Browse files
authored
[_operator] Type mod (#15577)
Add `Supports(R)Mod` protocols to `_typeshed` module.
1 parent 72b7368 commit 4edae94

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

stdlib/_operator.pyi

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import sys
2-
from _typeshed import SupportsGetItem, SupportsMul, SupportsRMul
2+
from _typeshed import SupportsGetItem, SupportsMod, SupportsMul, SupportsRMod, SupportsRMul
33
from collections.abc import Callable, Container, Iterable, MutableMapping, MutableSequence, Sequence
44
from operator import attrgetter as attrgetter, itemgetter as itemgetter, methodcaller as methodcaller
55
from typing import Any, AnyStr, Protocol, SupportsAbs, SupportsIndex, TypeVar, overload, type_check_only
@@ -66,7 +66,10 @@ def index(a: SupportsIndex, /) -> int: ...
6666
def inv(a: _SupportsInversion[_T_co], /) -> _T_co: ...
6767
def invert(a: _SupportsInversion[_T_co], /) -> _T_co: ...
6868
def lshift(a, b, /): ...
69-
def mod(a, b, /): ...
69+
@overload
70+
def mod(a: SupportsMod[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
71+
@overload
72+
def mod(a: _T_contra, b: SupportsRMod[_T_contra, _T_co], /) -> _T_co: ...
7073
@overload
7174
def mul(a: SupportsMul[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
7275
@overload

stdlib/_typeshed/__init__.pyi

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@ class SupportsMul(Protocol[_T_contra, _T_co]):
126126
class SupportsRMul(Protocol[_T_contra, _T_co]):
127127
def __rmul__(self, x: _T_contra, /) -> _T_co: ...
128128

129+
class SupportsMod(Protocol[_T_contra, _T_co]):
130+
def __mod__(self, other: _T_contra, /) -> _T_co: ...
131+
132+
class SupportsRMod(Protocol[_T_contra, _T_co]):
133+
def __rmod__(self, other: _T_contra, /) -> _T_co: ...
134+
129135
class SupportsDivMod(Protocol[_T_contra, _T_co]):
130136
def __divmod__(self, other: _T_contra, /) -> _T_co: ...
131137

0 commit comments

Comments
 (0)