Skip to content

Commit 4f79d43

Browse files
committed
Add additional test cases
1 parent 914d517 commit 4f79d43

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

test-data/unit/check-overloading.test

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5430,6 +5430,7 @@ from typing import overload
54305430
class A: ...
54315431
class B: ...
54325432
class C: ...
5433+
class D: ...
54335434

54345435
# -----
54355436
# Test basic overload merging
@@ -5475,6 +5476,35 @@ reveal_type(f3(C())) # E: No overload variant of "f3" matches argument type "C"
54755476
# N: def f3(g: B) -> B \
54765477
# N: Revealed type is "Any"
54775478

5479+
if True:
5480+
@overload
5481+
def f4(g: A) -> A: ...
5482+
if True:
5483+
@overload
5484+
def f4(g: B) -> B: ...
5485+
@overload
5486+
def f4(g: C) -> C: ...
5487+
def f4(g): ...
5488+
reveal_type(f4(A())) # N: Revealed type is "__main__.A"
5489+
reveal_type(f4(B())) # N: Revealed type is "__main__.B"
5490+
reveal_type(f4(C())) # N: Revealed type is "__main__.C"
5491+
5492+
if True:
5493+
@overload
5494+
def f5(g: A) -> A: ...
5495+
@overload
5496+
def f5(g: B) -> B: ...
5497+
if True:
5498+
@overload
5499+
def f5(g: C) -> C: ...
5500+
@overload
5501+
def f5(g: D) -> D: ...
5502+
def f5(g): ...
5503+
reveal_type(f5(A())) # N: Revealed type is "__main__.A"
5504+
reveal_type(f5(B())) # N: Revealed type is "__main__.B"
5505+
reveal_type(f5(C())) # N: Revealed type is "__main__.C"
5506+
reveal_type(f5(D())) # N: Revealed type is "__main__.D"
5507+
54785508
[case testOverloadIfSysVersion]
54795509
# flags: --python-version 3.9
54805510
from typing import overload

0 commit comments

Comments
 (0)