File tree 1 file changed +53
-0
lines changed 1 file changed +53
-0
lines changed Original file line number Diff line number Diff line change @@ -760,3 +760,56 @@ def f(x: int) -> None: pass
760
760
[out]
761
761
==
762
762
main:4: error: Too few arguments for "f"
763
+
764
+ [case testNestedClassMethodSignatureChanges]
765
+ from m import A
766
+
767
+ def f(x: A.B) -> None:
768
+ x.g()
769
+ [file m.py]
770
+ class A:
771
+ class B:
772
+ def g(self) -> None: pass
773
+ [file m.py.2]
774
+ class A:
775
+ class B:
776
+ def g(self, x: int) -> None: pass
777
+ [out]
778
+ ==
779
+ main:4: error: Too few arguments for "g" of "B"
780
+
781
+ [case testNestedClassAttributeTypeChanges]
782
+ from m import A
783
+
784
+ def f(x: A.B) -> None:
785
+ z = 1
786
+ z = x.y
787
+ [file m.py]
788
+ class A:
789
+ class B:
790
+ def g(self) -> None:
791
+ self.y = 1
792
+ [file m.py.2]
793
+ class A:
794
+ class B:
795
+ def g(self) -> None:
796
+ self.y = ''
797
+ [out]
798
+ ==
799
+ main:5: error: Incompatible types in assignment (expression has type "str", variable has type "int")
800
+
801
+ [case testReprocessMethodInNestedClass]
802
+ from m import f
803
+
804
+ class A:
805
+ class B:
806
+ def g(self) -> None:
807
+ x = 1
808
+ x = f()
809
+ [file m.py]
810
+ def f() -> int: pass
811
+ [file m.py.2]
812
+ def f() -> str: pass
813
+ [out]
814
+ ==
815
+ main:7: error: Incompatible types in assignment (expression has type "str", variable has type "int")
You can’t perform that action at this time.
0 commit comments