@@ -429,8 +429,8 @@ b.h("x") # E: function __main__.A.h is deprecated: use `h2` instead
429429[case testDeprecatedOverloadedClassMethods]
430430# flags: --enable-error-code=deprecated
431431
432- from typing import Iterator, Union
433- from typing_extensions import deprecated, overload
432+ from typing import Iterator, Union, overload
433+ from typing_extensions import deprecated
434434
435435class A:
436436 @overload
@@ -487,8 +487,8 @@ b.h("x") # E: function __main__.A.h is deprecated: use `h2` instead
487487[case testDeprecatedOverloadedStaticMethods]
488488# flags: --enable-error-code=deprecated
489489
490- from typing import Iterator, Union
491- from typing_extensions import deprecated, overload
490+ from typing import Iterator, Union, overload
491+ from typing_extensions import deprecated
492492
493493class A:
494494 @overload
@@ -545,8 +545,8 @@ b.h("x") # E: function __main__.A.h is deprecated: use `h2` instead
545545[case testDeprecatedOverloadedSpecialMethods]
546546# flags: --enable-error-code=deprecated
547547
548- from typing import Iterator, Union
549- from typing_extensions import deprecated, overload
548+ from typing import Iterator, Union, overload
549+ from typing_extensions import deprecated
550550
551551class A:
552552 @overload
@@ -671,8 +671,8 @@ C().g = "x" # E: function __main__.C.g is deprecated: use g2 instead \
671671[case testDeprecatedDescriptor]
672672# flags: --enable-error-code=deprecated
673673
674- from typing import Any, Optional, Union
675- from typing_extensions import deprecated, overload
674+ from typing import Any, Optional, Union, overload
675+ from typing_extensions import deprecated
676676
677677@deprecated("use E1 instead")
678678class D1:
@@ -725,8 +725,8 @@ c.d3 = "x" # E: overload def (self: __main__.D3, obj: __main__.C, value: builti
725725[case testDeprecatedOverloadedFunction]
726726# flags: --enable-error-code=deprecated
727727
728- from typing import Union
729- from typing_extensions import deprecated, overload
728+ from typing import Union, overload
729+ from typing_extensions import deprecated
730730
731731@overload
732732def f(x: int) -> int: ...
@@ -788,14 +788,65 @@ m.g("x")
788788
789789[file m.py]
790790
791- from typing import Union
792- from typing_extensions import deprecated, overload
791+ from typing import Union, overload
792+ from typing_extensions import deprecated
793793
794794@overload
795795@deprecated("work with str instead")
796796def 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