Some PR got merged where multiple types where marked up using | in a :type: option up of an .. attribute:: directive:
In Doc/library/tarfile.rst:
.. attribute:: TarInfo.mtime
:type: int | float
When I initially proposed my PR, only parameters (not attributes) had such a markup.
My PR proposes to change all the |s to or.
I expected the :type: option of .. attribute:: to be parsed and interpreted exactly as the :type: and :param: options of .. class::, .. function::, and .. method::. Instead, for the former, Sphinx produces a syntax error.
Read again the OP for more context.