diff --git a/mypy/stubdoc.py b/mypy/stubdoc.py index 434de0ea3bcb..7d728b782024 100644 --- a/mypy/stubdoc.py +++ b/mypy/stubdoc.py @@ -20,7 +20,7 @@ Sig: _TypeAlias = Tuple[str, str] -_TYPE_RE: Final = re.compile(r"^[a-zA-Z_][\w\[\], .\"\']*(\.[a-zA-Z_][\w\[\], ]*)*$") +_TYPE_RE: Final = re.compile(r"^[a-zA-Z_][\w\[\], ().\"\']*(\.[a-zA-Z_][\w\[\], ]*)*$") _ARG_NAME_RE: Final = re.compile(r"\**[A-Za-z_][A-Za-z0-9_]*$") diff --git a/mypy/test/teststubgen.py b/mypy/test/teststubgen.py index dffa1aa80c5d..a5f3c0ae5558 100644 --- a/mypy/test/teststubgen.py +++ b/mypy/test/teststubgen.py @@ -1397,6 +1397,9 @@ def test_is_valid_type(self) -> None: assert is_valid_type("List[int]") assert is_valid_type("Dict[str, int]") assert is_valid_type("None") + assert is_valid_type("tuple[int]") + assert is_valid_type("tuple[()]") + assert is_valid_type("tuple[int, ...]") assert is_valid_type("Literal[26]") assert is_valid_type("Literal[0x1A]") assert is_valid_type('Literal["hello world"]')