[_operator] Type mod (#15577)

Add `Supports(R)Mod` protocols to `_typeshed` module.
This commit is contained in:
Hunter Hogan
2026-04-05 08:19:57 -05:00
committed by GitHub
parent 72b73680a2
commit 4edae94984
2 changed files with 11 additions and 2 deletions
+5 -2
View File
@@ -1,5 +1,5 @@
import sys
from _typeshed import SupportsGetItem, SupportsMul, SupportsRMul
from _typeshed import SupportsGetItem, SupportsMod, SupportsMul, SupportsRMod, SupportsRMul
from collections.abc import Callable, Container, Iterable, MutableMapping, MutableSequence, Sequence
from operator import attrgetter as attrgetter, itemgetter as itemgetter, methodcaller as methodcaller
from typing import Any, AnyStr, Protocol, SupportsAbs, SupportsIndex, TypeVar, overload, type_check_only
@@ -66,7 +66,10 @@ def index(a: SupportsIndex, /) -> int: ...
def inv(a: _SupportsInversion[_T_co], /) -> _T_co: ...
def invert(a: _SupportsInversion[_T_co], /) -> _T_co: ...
def lshift(a, b, /): ...
def mod(a, b, /): ...
@overload
def mod(a: SupportsMod[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
@overload
def mod(a: _T_contra, b: SupportsRMod[_T_contra, _T_co], /) -> _T_co: ...
@overload
def mul(a: SupportsMul[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
@overload
+6
View File
@@ -126,6 +126,12 @@ class SupportsMul(Protocol[_T_contra, _T_co]):
class SupportsRMul(Protocol[_T_contra, _T_co]):
def __rmul__(self, x: _T_contra, /) -> _T_co: ...
class SupportsMod(Protocol[_T_contra, _T_co]):
def __mod__(self, other: _T_contra, /) -> _T_co: ...
class SupportsRMod(Protocol[_T_contra, _T_co]):
def __rmod__(self, other: _T_contra, /) -> _T_co: ...
class SupportsDivMod(Protocol[_T_contra, _T_co]):
def __divmod__(self, other: _T_contra, /) -> _T_co: ...