Skip to content

Commit e80da9f

Browse files
Attempt to fix lint error
1 parent c30ebcd commit e80da9f

File tree

1 file changed

+40
-40
lines changed

1 file changed

+40
-40
lines changed

test-data/unit/check-tuples.test

Lines changed: 40 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,46 @@ class A: pass
524524
class B: pass
525525
[builtins fixtures/tuple.pyi]
526526

527+
# ----------------------------------------------------------------------------
528+
# Union-in-Tuple distribution
529+
# ----------------------------------------------------------------------------
530+
531+
[case testTupleUnionDistributionSuccess]
532+
from typing import Tuple, Optional, Union
533+
534+
def f1(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, float], Tuple[float, None]]:
535+
return x
536+
537+
def f2(x: Tuple[Union[int, str], float]) -> Union[Tuple[int, float], Tuple[str, float]]:
538+
return x
539+
540+
def f3(x: Tuple[int, Union[str, None]]) -> Union[Tuple[int, str], Tuple[int, None]]:
541+
return x
542+
543+
def f4(x: Tuple[Union[int, float]]) -> Union[Tuple[int], Tuple[float]]:
544+
return x
545+
546+
def f5(x: Tuple[Union[int, str], Union[bool, None]]) -> Union[
547+
Tuple[int, bool],
548+
Tuple[int, None],
549+
Tuple[str, bool],
550+
Tuple[str, None],
551+
]:
552+
return x
553+
554+
[builtins fixtures/tuple.pyi]
555+
556+
[case testTupleUnionDistributionFail]
557+
from typing import Tuple, Optional, Union
558+
559+
def g1(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, float], Tuple[str, float]]:
560+
return x # E: Incompatible return value type (got "Tuple[float, Optional[float]]", expected "Union[Tuple[float, float], Tuple[str, float]]")
561+
562+
def g2(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, str], Tuple[float, None]]:
563+
return x # E: Incompatible return value type (got "Tuple[float, Optional[float]]", expected "Union[Tuple[float, str], Tuple[float, None]]")
564+
565+
[builtins fixtures/tuple.pyi]
566+
527567
[case testMultipleAssignmentWithNonTupleRvalue]
528568
a: A
529569
b: B
@@ -1814,44 +1854,4 @@ class A: ...
18141854
class tuple_aa_subclass(Tuple[A, A]): ...
18151855

18161856
inst_tuple_aa_subclass: tuple_aa_subclass = tuple_aa_subclass((A(), A()))[:] # E: Incompatible types in assignment (expression has type "Tuple[A, A]", variable has type "tuple_aa_subclass")
1817-
[builtins fixtures/tuple.pyi]
1818-
1819-
# ----------------------------------------------------------------------------
1820-
# Union-in-Tuple distribution
1821-
# ----------------------------------------------------------------------------
1822-
1823-
[case testTupleUnionDistributionSuccess]
1824-
from typing import Tuple, Optional, Union
1825-
1826-
def f1(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, float], Tuple[float, None]]:
1827-
return x
1828-
1829-
def f2(x: Tuple[Union[int, str], float]) -> Union[Tuple[int, float], Tuple[str, float]]:
1830-
return x
1831-
1832-
def f3(x: Tuple[int, Union[str, None]]) -> Union[Tuple[int, str], Tuple[int, None]]:
1833-
return x
1834-
1835-
def f4(x: Tuple[Union[int, float]]) -> Union[Tuple[int], Tuple[float]]:
1836-
return x
1837-
1838-
def f5(x: Tuple[Union[int, str], Union[bool, None]]) -> Union[
1839-
Tuple[int, bool],
1840-
Tuple[int, None],
1841-
Tuple[str, bool],
1842-
Tuple[str, None],
1843-
]:
1844-
return x
1845-
1846-
[builtins fixtures/tuple.pyi]
1847-
1848-
[case testTupleUnionDistributionFail]
1849-
from typing import Tuple, Optional, Union
1850-
1851-
def g1(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, float], Tuple[str, float]]:
1852-
return x # E: Incompatible return value type (got "Tuple[float, Optional[float]]", expected "Union[Tuple[float, float], Tuple[str, float]]")
1853-
1854-
def g2(x: Tuple[float, Optional[float]]) -> Union[Tuple[float, str], Tuple[float, None]]:
1855-
return x # E: Incompatible return value type (got "Tuple[float, Optional[float]]", expected "Union[Tuple[float, str], Tuple[float, None]]")
1856-
18571857
[builtins fixtures/tuple.pyi]

0 commit comments

Comments
 (0)