@@ -797,5 +797,56 @@ def g(x: int) -> int: ...
797797@overload
798798def g(x: str) -> str: ...
799799def g(x: Union[int, str]) -> Union[int, str]: ...
800+ [builtins fixtures/tuple.pyi]
801+
802+ [case testDeprecatedExclude]
803+ # flags: --enable-error-code=deprecated --deprecated-calls-exclude=m.C --deprecated-calls-exclude=m.D --deprecated-calls-exclude=m.E.f --deprecated-calls-exclude=m.E.g --deprecated-calls-exclude=m.E.__add__
804+ from m import C, D, E
805+
806+ [file m.py]
807+ from typing import Union, overload
808+ from typing_extensions import deprecated
809+
810+ @deprecated("use C2 instead")
811+ class C:
812+ def __init__(self) -> None: ...
813+
814+ c: C
815+ C()
816+ C.__init__(c)
817+
818+ class D:
819+ @deprecated("use D.g instead")
820+ def f(self) -> None: ...
821+
822+ def g(self) -> None: ...
823+
824+ D.f
825+ D().f
826+ D().f()
827+
828+ class E:
829+ @overload
830+ def f(self, x: int) -> int: ...
831+ @overload
832+ def f(self, x: str) -> str: ...
833+ @deprecated("use E.f2 instead")
834+ def f(self, x: Union[int, str]) -> Union[int, str]: ...
835+
836+ @deprecated("use E.h instead")
837+ def g(self) -> None: ...
838+
839+ @overload
840+ @deprecated("no A + int")
841+ def __add__(self, v: int) -> None: ...
842+ @overload
843+ def __add__(self, v: str) -> None: ...
844+ def __add__(self, v: Union[int, str]) -> None: ...
845+
846+ E().f(1)
847+ E().f("x")
800848
849+ e = E()
850+ e.g()
851+ e + 1
801852[builtins fixtures/tuple.pyi]
0 commit comments