diff --git a/pyanalyze/__init__.py b/pyanalyze/__init__.py index f1621943..edce733c 100644 --- a/pyanalyze/__init__.py +++ b/pyanalyze/__init__.py @@ -58,6 +58,7 @@ used(extensions.show_error) used(extensions.has_extra_keys) used(extensions.EnumName) +used(extensions.ValidRegex) used(value.UNRESOLVED_VALUE) # keeping it around for now just in case used(reexport) used(patma) diff --git a/pyanalyze/test_implementation.py b/pyanalyze/test_implementation.py index ad180af0..dea128e2 100644 --- a/pyanalyze/test_implementation.py +++ b/pyanalyze/test_implementation.py @@ -1494,3 +1494,16 @@ def capybara(): re.match(r"a", "b") re.match(rb"(", b"b") # E: incompatible_call + + @assert_passes() + def test_extension(self): + from typing_extensions import Annotated + + from pyanalyze.extensions import ValidRegex + + def f(x: Annotated[str, ValidRegex()]): + pass + + def capybara(): + f("x") + f(r"[") # E: invalid_regex