pickle(complex, pickle_complex, complex)
def pickle_union(obj):
- import functools, operator
- return functools.reduce, (operator.or_, obj.__args__)
+ import typing, operator
+ return operator.getitem, (typing.Union, obj.__args__)
pickle(type(int | str), pickle_union)
Tuple[Any, Any], Node[T], Node[int], Node[Any], typing.Iterable[T],
typing.Iterable[Any], typing.Iterable[int], typing.Dict[int, str],
typing.Dict[T, Any], ClassVar[int], ClassVar[List[T]], Tuple['T', 'T'],
- Union['T', int], List['T'], typing.Mapping['T', int]]
- for t in things + [Any]:
- self.assertEqual(t, copy(t))
- self.assertEqual(t, deepcopy(t))
+ Union['T', int], List['T'], typing.Mapping['T', int],
+ Union[b"x", b"y"], Any]
+ for t in things:
+ with self.subTest(thing=t):
+ self.assertEqual(t, copy(t))
+ self.assertEqual(t, deepcopy(t))
def test_immutability_by_copy_and_pickle(self):
# Special forms like Union, Any, etc., generic aliases to containers like List,