From c96812425a55dc00589d51c993bb53bb4c518321 Mon Sep 17 00:00:00 2001 From: Sebastian Kreft Date: Fri, 7 Sep 2018 07:14:28 +0200 Subject: [PATCH] Overload the definitions of dataclasses.asdict and dataclasses.astuple (#2422) --- stdlib/3.7/dataclasses.pyi | 10 ++++++++-- third_party/3/dataclasses.pyi | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/stdlib/3.7/dataclasses.pyi b/stdlib/3.7/dataclasses.pyi index de4fe69ca..b290ab3e1 100644 --- a/stdlib/3.7/dataclasses.pyi +++ b/stdlib/3.7/dataclasses.pyi @@ -6,9 +6,15 @@ _T = TypeVar('_T') class _MISSING_TYPE: ... MISSING: _MISSING_TYPE -def asdict(obj: Any, *, dict_factory: Callable[[List[Tuple[str, Any]]], _T] = ...) -> _T: ... +@overload +def asdict(obj: Any) -> Dict[str, Any]: ... +@overload +def asdict(obj: Any, *, dict_factory: Callable[[List[Tuple[str, Any]]], _T]) -> _T: ... -def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T] = ...) -> _T: ... +@overload +def astuple(obj: Any) -> Tuple[Any, ...]: ... +@overload +def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T]) -> _T: ... @overload diff --git a/third_party/3/dataclasses.pyi b/third_party/3/dataclasses.pyi index de4fe69ca..b290ab3e1 100644 --- a/third_party/3/dataclasses.pyi +++ b/third_party/3/dataclasses.pyi @@ -6,9 +6,15 @@ _T = TypeVar('_T') class _MISSING_TYPE: ... MISSING: _MISSING_TYPE -def asdict(obj: Any, *, dict_factory: Callable[[List[Tuple[str, Any]]], _T] = ...) -> _T: ... +@overload +def asdict(obj: Any) -> Dict[str, Any]: ... +@overload +def asdict(obj: Any, *, dict_factory: Callable[[List[Tuple[str, Any]]], _T]) -> _T: ... -def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T] = ...) -> _T: ... +@overload +def astuple(obj: Any) -> Tuple[Any, ...]: ... +@overload +def astuple(obj: Any, *, tuple_factory: Callable[[List[Any]], _T]) -> _T: ... @overload