mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-10 05:51:52 +08:00
More precise overloads for get/pop methods (#10501)
Fixes #10293 Co-authored-by: AlexWaygood <alex.waygood@gmail.com>
This commit is contained in:
@@ -25,10 +25,14 @@ class ContextVar(Generic[_T]):
|
||||
def get(self) -> _T: ...
|
||||
if sys.version_info >= (3, 8):
|
||||
@overload
|
||||
def get(self, default: _D | _T) -> _D | _T: ...
|
||||
def get(self, default: _T) -> _T: ...
|
||||
@overload
|
||||
def get(self, default: _D) -> _D | _T: ...
|
||||
else:
|
||||
@overload
|
||||
def get(self, __default: _D | _T) -> _D | _T: ...
|
||||
def get(self, __default: _T) -> _T: ...
|
||||
@overload
|
||||
def get(self, __default: _D) -> _D | _T: ...
|
||||
|
||||
def set(self, __value: _T) -> Token[_T]: ...
|
||||
def reset(self, __token: Token[_T]) -> None: ...
|
||||
@@ -53,7 +57,9 @@ def copy_context() -> Context: ...
|
||||
class Context(Mapping[ContextVar[Any], Any]):
|
||||
def __init__(self) -> None: ...
|
||||
@overload
|
||||
def get(self, __key: ContextVar[_T]) -> _T | None: ...
|
||||
def get(self, __key: ContextVar[_T], __default: None = None) -> _T | None: ... # type: ignore[misc] # overlapping overloads
|
||||
@overload
|
||||
def get(self, __key: ContextVar[_T], __default: _T) -> _T: ...
|
||||
@overload
|
||||
def get(self, __key: ContextVar[_T], __default: _D) -> _T | _D: ...
|
||||
def run(self, callable: Callable[_P, _T], *args: _P.args, **kwargs: _P.kwargs) -> _T: ...
|
||||
|
||||
Reference in New Issue
Block a user