gh-90015: Document that PEP-604 unions do not support forward references (#105366)

This commit is contained in:
Alex Waygood 2023-06-07 18:26:23 +01:00 committed by GitHub
parent c85be33acc
commit fbdee000de
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 0 deletions

View File

@ -5162,6 +5162,14 @@ enables cleaner type hinting syntax compared to :data:`typing.Union`.
def square(number: int | float) -> int | float:
return number ** 2
.. note::
The ``|`` operand cannot be used at runtime to define unions where one or
more members is a forward reference. For example, ``int | "Foo"``, where
``"Foo"`` is a reference to a class not yet defined, will fail at
runtime. For unions which include forward references, present the
whole expression as a string, e.g. ``"int | Foo"``.
.. describe:: union_object == other
Union objects can be tested for equality with other union objects. Details: