Issue 25390: Can't define a typing.Union containing a typing.re.Pattern (original) (raw)

Defining a union of typing.re.Pattern and anything that isn't AnyStr raises a TypeError exception.

Example:

from typing import Union, re

def foo(pattern: Union[str, re.Pattern]) -> None: pass

Exception traceback:

Traceback (most recent call last): File "/tmp/testtyping.py", line 7, in def foo(pattern: Union[str, re.Pattern]) -> None: File "/usr/local/lib/python3.5/typing.py", line 534, in getitem dict(self.dict), parameters, _root=True) File "/usr/local/lib/python3.5/typing.py", line 491, in new for t2 in all_params - {t1} if not isinstance(t2, TypeVar)): File "/usr/local/lib/python3.5/typing.py", line 491, in for t2 in all_params - {t1} if not isinstance(t2, TypeVar)): TypeError: issubclass() arg 1 must be a class