@@ -376,7 +376,7 @@ a = produce()
376
376
accept_int(a.foo())
377
377
378
378
[file mod2/__init__.py]
379
- from mod2.mod3 import CustomType
379
+ from mod2.mod3 import CustomType
380
380
381
381
[file mod2/mod3/__init__.py]
382
382
from mod2.mod3.mod4 import CustomType
@@ -407,13 +407,13 @@ tmp/mod1.py:6: error: Argument 1 to "accept_int" has incompatible type "str"; ex
407
407
import mod1, mod2.mod3.mod5
408
408
409
409
[file mod1.py]
410
- from mod2 import produce
410
+ from mod2 import produce
411
411
def accept_int(x: int) -> None: pass
412
412
a = produce()
413
413
accept_int(a.foo())
414
414
415
415
[file mod2/__init__.py]
416
- from mod2.mod3 import produce
416
+ from mod2.mod3 import produce
417
417
418
418
[file mod2/mod3/__init__.py]
419
419
from mod2.mod3.mod4 import CustomType
@@ -548,7 +548,7 @@ def func2() -> str:
548
548
[out2]
549
549
550
550
[case testIncrementalWithComplexDictExpression]
551
- import mod1
551
+ import mod1
552
552
553
553
[file mod1.py]
554
554
import mod1_private
@@ -570,7 +570,7 @@ my_dict = {
570
570
[builtins fixtures/dict.pyi]
571
571
572
572
[case testIncrementalWithComplexConstantExpressionNoAnnotation]
573
- import mod1
573
+ import mod1
574
574
575
575
[file mod1.py]
576
576
import mod1_private
@@ -1178,7 +1178,7 @@ def foo(a: str) -> None: pass
1178
1178
1179
1179
[file client.py]
1180
1180
import good
1181
- import bad
1181
+ import bad
1182
1182
from good import foo
1183
1183
foo(3)
1184
1184
@@ -1537,12 +1537,12 @@ tmp/foo.py:3: error: Argument 1 to "accept_int" has incompatible type "str"; exp
1537
1537
import foo
1538
1538
1539
1539
[file foo.py]
1540
- from mid import Outer
1540
+ from mid import Outer
1541
1541
def accept_int(x: int) -> None: pass
1542
1542
accept_int(Outer.MyTuple(1, "b", "c").a)
1543
1543
1544
1544
[file mid.py]
1545
- from bar import Outer
1545
+ from bar import Outer
1546
1546
1547
1547
[file bar.py]
1548
1548
from typing import NamedTuple
@@ -1634,3 +1634,20 @@ a = None # type: R
1634
1634
from . import m
1635
1635
R = m.R
1636
1636
a = None # type: R
1637
+
1638
+ [case testIncrementalBaseClassAttributeConflict]
1639
+ class A: pass
1640
+ class B: pass
1641
+
1642
+ class X:
1643
+ attr = None # type: A
1644
+ class Y:
1645
+ attr = None # type: B
1646
+ class Z(X, Y): pass
1647
+ [stale]
1648
+ [out]
1649
+ main: note: In class "Z":
1650
+ main:8: error: Definition of "attr" in base class "X" is incompatible with definition in base class "Y"
1651
+ [out2]
1652
+ main: note: In class "Z":
1653
+ main:8: error: Definition of "attr" in base class "X" is incompatible with definition in base class "Y"
0 commit comments