Closed
Description
Bug report
Bug description:
In 3.13 it was possible to copy a Union containing any object:
>>> copy.copy(typing.Union[b"x", b"y"])
typing.Union[b'x', b'y']
But in main this fails:
>>> copy.copy(typing.Union[b"x", b"y"])
Traceback (most recent call last):
File "<python-input-2>", line 1, in <module>
copy.copy(typing.Union[b"x", b"y"])
~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jelle/py/cpython/Lib/copy.py", line 100, in copy
return _reconstruct(x, None, *rv)
File "/Users/jelle/py/cpython/Lib/copy.py", line 234, in _reconstruct
y = func(*args)
TypeError: unsupported operand type(s) for |: 'bytes' and 'bytes'
>>>
This doesn't affect any types supported by the type system (all of which support |
), but may affect users who put non-standard objects inside a Union.
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Linked PRs
Metadata
Metadata
Assignees
Projects
Status
Done