diff --git a/mypy/stubdoc.py b/mypy/stubdoc.py index 928d024514f3..99d3d751b6b9 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 e65a16c8f395..299d84edcb5e 100644 --- a/mypy/test/teststubgen.py +++ b/mypy/test/teststubgen.py @@ -1386,6 +1386,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"]')