File tree Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Expand file tree Collapse file tree 2 files changed +20
-1
lines changed Original file line number Diff line number Diff line change @@ -622,7 +622,9 @@ def name_is_typing_overload(name): # type: (str) -> bool
622
622
if name in scope :
623
623
return (
624
624
isinstance (scope [name ], ImportationFrom ) and
625
- scope [name ].fullName == 'typing.overload'
625
+ scope [name ].fullName in (
626
+ 'typing.overload' , 'typing_extensions.overload' ,
627
+ )
626
628
)
627
629
628
630
return False
Original file line number Diff line number Diff line change @@ -39,6 +39,23 @@ def g(s):
39
39
return s
40
40
""" )
41
41
42
+ def test_typingExtensionsOverload (self ):
43
+ """Allow intentional redefinitions via @typing_extensions.overload"""
44
+ self .flakes ("""
45
+ from typing_extensions import overload
46
+
47
+ @overload
48
+ def f(s): # type: (None) -> None
49
+ pass
50
+
51
+ @overload
52
+ def f(s): # type: (int) -> int
53
+ pass
54
+
55
+ def f(s):
56
+ return s
57
+ """ )
58
+
42
59
def test_overload_with_multiple_decorators (self ):
43
60
self .flakes ("""
44
61
from typing import overload
You can’t perform that action at this time.
0 commit comments