@@ -355,12 +355,12 @@ def foo(a: Union[A, B, C]):
355
355
from typing import TypeVar, Union
356
356
T = TypeVar('T')
357
357
S = TypeVar('S')
358
- def u(x: T, y: S) -> Union[S, T ]: pass
358
+ def u(x: T, y: S) -> Union[T, S ]: pass
359
359
360
- reveal_type(u(1, 2.3)) # N: Revealed type is "builtins.float"
361
- reveal_type(u(2.3, 1)) # N: Revealed type is "builtins.float"
362
- reveal_type(u(False, 2.2)) # N: Revealed type is "builtins.float"
363
- reveal_type(u(2.2, False)) # N: Revealed type is "builtins.float"
360
+ reveal_type(u(1, 2.3)) # N: Revealed type is "Union[ builtins.int, builtins. float] "
361
+ reveal_type(u(2.3, 1)) # N: Revealed type is "Union[ builtins.float, builtins.int] "
362
+ reveal_type(u(False, 2.2)) # N: Revealed type is "Union[ builtins.bool, builtins. float] "
363
+ reveal_type(u(2.2, False)) # N: Revealed type is "Union[ builtins.float, builtins.bool] "
364
364
[builtins fixtures/primitives.pyi]
365
365
366
366
[case testSimplifyingUnionWithTypeTypes1]
@@ -491,15 +491,15 @@ class E:
491
491
[case testUnionSimplificationWithBoolIntAndFloat]
492
492
from typing import List, Union
493
493
l = reveal_type([]) # type: List[Union[bool, int, float]] \
494
- # N: Revealed type is "builtins.list[builtins.float]"
494
+ # N: Revealed type is "builtins.list[Union[ builtins.int, builtins. float] ]"
495
495
reveal_type(l) \
496
496
# N: Revealed type is "builtins.list[Union[builtins.bool, builtins.int, builtins.float]]"
497
497
[builtins fixtures/list.pyi]
498
498
499
499
[case testUnionSimplificationWithBoolIntAndFloat2]
500
500
from typing import List, Union
501
501
l = reveal_type([]) # type: List[Union[bool, int, float, str]] \
502
- # N: Revealed type is "builtins.list[Union[builtins.float, builtins.str]]"
502
+ # N: Revealed type is "builtins.list[Union[builtins.int, builtins. float, builtins.str]]"
503
503
reveal_type(l) \
504
504
# N: Revealed type is "builtins.list[Union[builtins.bool, builtins.int, builtins.float, builtins.str]]"
505
505
[builtins fixtures/list.pyi]
@@ -545,7 +545,7 @@ from typing import Union, Tuple, Any
545
545
546
546
a: Union[Tuple[int], Tuple[float]]
547
547
(a1,) = a
548
- reveal_type(a1) # N: Revealed type is "builtins.float"
548
+ reveal_type(a1) # N: Revealed type is "Union[ builtins.int, builtins. float] "
549
549
550
550
b: Union[Tuple[int], Tuple[str]]
551
551
(b1,) = b
@@ -558,7 +558,7 @@ from typing import Union, Tuple
558
558
c: Union[Tuple[int, int], Tuple[int, float]]
559
559
(c1, c2) = c
560
560
reveal_type(c1) # N: Revealed type is "builtins.int"
561
- reveal_type(c2) # N: Revealed type is "builtins.float"
561
+ reveal_type(c2) # N: Revealed type is "Union[ builtins.int, builtins. float] "
562
562
[builtins fixtures/tuple.pyi]
563
563
564
564
[case testUnionMultiassignGeneric]
@@ -625,7 +625,7 @@ b: Union[Tuple[float, int], Tuple[int, int]]
625
625
b1: object
626
626
b2: int
627
627
(b1, b2) = b
628
- reveal_type(b1) # N: Revealed type is "builtins.float"
628
+ reveal_type(b1) # N: Revealed type is "Union[ builtins.float, builtins.int] "
629
629
reveal_type(b2) # N: Revealed type is "builtins.int"
630
630
631
631
c: Union[Tuple[int, int], Tuple[int, int]]
@@ -639,7 +639,7 @@ d: Union[Tuple[int, int], Tuple[int, float]]
639
639
d1: object
640
640
(d1, d2) = d
641
641
reveal_type(d1) # N: Revealed type is "builtins.int"
642
- reveal_type(d2) # N: Revealed type is "builtins.float"
642
+ reveal_type(d2) # N: Revealed type is "Union[ builtins.int, builtins. float] "
643
643
[builtins fixtures/tuple.pyi]
644
644
645
645
[case testUnionMultiassignIndexed]
0 commit comments