Issue #28556: updates to typing.py (fix copy, deepcopy, pickle)
diff --git a/Lib/typing.py b/Lib/typing.py
index bda4ea5..572708b 100644
--- a/Lib/typing.py
+++ b/Lib/typing.py
@@ -190,6 +190,9 @@
return self
raise TypeError("Cannot instantiate %r" % cls)
+ def __reduce__(self):
+ return _trim_name(type(self).__name__)
+
class _ForwardRef(_TypingBase, _root=True):
"""Wrapper to hold a forward reference."""
@@ -1051,6 +1054,11 @@
# classes are supposed to be rare anyways.
return issubclass(instance.__class__, self)
+ def __copy__(self):
+ return self.__class__(self.__name__, self.__bases__, dict(self.__dict__),
+ self.__parameters__, self.__args__, self.__origin__,
+ self.__extra__, self.__orig_bases__)
+
# Prevent checks for Generic to crash when defining Generic.
Generic = None