From 98e1467d9216c722226167507582d94e21359997 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 9 Aug 2021 15:45:34 -0400 Subject: [PATCH 1/3] dataclasses.Field.default and .default_factory can be _MISSING_TYPE --- stdlib/dataclasses.pyi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stdlib/dataclasses.pyi b/stdlib/dataclasses.pyi index 7ea887da9465..91aada31f853 100644 --- a/stdlib/dataclasses.pyi +++ b/stdlib/dataclasses.pyi @@ -1,5 +1,5 @@ import sys -from typing import Any, Callable, Generic, Iterable, Mapping, Tuple, Type, TypeVar, overload +from typing import Any, Callable, Generic, Iterable, Mapping, Tuple, Type, TypeVar, Union, overload from typing_extensions import Protocol if sys.version_info >= (3, 9): @@ -71,8 +71,8 @@ class _DefaultFactory(Protocol[_T_co]): class Field(Generic[_T]): name: str type: Type[_T] - default: _T - default_factory: _DefaultFactory[_T] + default: Union[_T, _MISSING_TYPE] + default_factory: Union[_DefaultFactory[_T], _MISSING_TYPE] repr: bool hash: bool | None init: bool From 5c60386b1a55fa89986fb141cd3d5954ed6da870 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Mon, 9 Aug 2021 16:40:04 -0400 Subject: [PATCH 2/3] Using | instead of Union --- stdlib/dataclasses.pyi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/stdlib/dataclasses.pyi b/stdlib/dataclasses.pyi index 91aada31f853..8b83ce948740 100644 --- a/stdlib/dataclasses.pyi +++ b/stdlib/dataclasses.pyi @@ -71,8 +71,8 @@ class _DefaultFactory(Protocol[_T_co]): class Field(Generic[_T]): name: str type: Type[_T] - default: Union[_T, _MISSING_TYPE] - default_factory: Union[_DefaultFactory[_T], _MISSING_TYPE] + default: _T | _MISSING_TYPE + default_factory: _DefaultFactory[_T] | _MISSING_TYPE repr: bool hash: bool | None init: bool From c3c5a36c446909f66552ff997d2d7ff877673963 Mon Sep 17 00:00:00 2001 From: Kyle Altendorf Date: Tue, 10 Aug 2021 09:45:23 -0400 Subject: [PATCH 3/3] Union import no longer used --- stdlib/dataclasses.pyi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stdlib/dataclasses.pyi b/stdlib/dataclasses.pyi index 8b83ce948740..ba07549c2736 100644 --- a/stdlib/dataclasses.pyi +++ b/stdlib/dataclasses.pyi @@ -1,5 +1,5 @@ import sys -from typing import Any, Callable, Generic, Iterable, Mapping, Tuple, Type, TypeVar, Union, overload +from typing import Any, Callable, Generic, Iterable, Mapping, Tuple, Type, TypeVar, overload from typing_extensions import Protocol if sys.version_info >= (3, 9):