Skip to content

Commit c6b7c0b

Browse files
authored
[_operator] Type add and sub (#15601)
1 parent 4edae94 commit c6b7c0b

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

stdlib/_operator.pyi

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
import sys
2-
from _typeshed import SupportsGetItem, SupportsMod, SupportsMul, SupportsRMod, SupportsRMul
2+
from _typeshed import (
3+
SupportsAdd,
4+
SupportsGetItem,
5+
SupportsMod,
6+
SupportsMul,
7+
SupportsRAdd,
8+
SupportsRMod,
9+
SupportsRMul,
10+
SupportsRSub,
11+
SupportsSub,
12+
)
313
from collections.abc import Callable, Container, Iterable, MutableMapping, MutableSequence, Sequence
414
from operator import attrgetter as attrgetter, itemgetter as itemgetter, methodcaller as methodcaller
515
from typing import Any, AnyStr, Protocol, SupportsAbs, SupportsIndex, TypeVar, overload, type_check_only
@@ -59,7 +69,10 @@ def truth(a: object, /) -> bool: ...
5969
def is_(a: object, b: object, /) -> bool: ...
6070
def is_not(a: object, b: object, /) -> bool: ...
6171
def abs(a: SupportsAbs[_T], /) -> _T: ...
62-
def add(a, b, /): ...
72+
@overload
73+
def add(a: SupportsAdd[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
74+
@overload
75+
def add(a: _T_contra, b: SupportsRAdd[_T_contra, _T_co], /) -> _T_co: ...
6376
def and_(a, b, /): ...
6477
def floordiv(a, b, /): ...
6578
def index(a: SupportsIndex, /) -> int: ...
@@ -80,7 +93,10 @@ def or_(a, b, /): ...
8093
def pos(a: _SupportsPos[_T_co], /) -> _T_co: ...
8194
def pow(a, b, /): ...
8295
def rshift(a, b, /): ...
83-
def sub(a, b, /): ...
96+
@overload
97+
def sub(a: SupportsSub[_T_contra, _T_co], b: _T_contra, /) -> _T_co: ...
98+
@overload
99+
def sub(a: _T_contra, b: SupportsRSub[_T_contra, _T_co], /) -> _T_co: ...
84100
def truediv(a, b, /): ...
85101
def xor(a, b, /): ...
86102
def concat(a: Sequence[_T], b: Sequence[_T], /) -> Sequence[_T]: ...

0 commit comments

Comments
 (0)