@@ -3766,19 +3766,53 @@ main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None]) ->
3766
3766
main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None]) -> a.a.A'
3767
3767
3768
3768
[case testAttrsIncrementalConverterManyStyles]
3769
+ import a
3770
+ [file a.py]
3769
3771
from base import Base
3770
- reveal_type(Base)
3772
+ Base(1, 'str', True)
3773
+ Base(None, None, None)
3774
+
3771
3775
from subclass import A, B
3772
- reveal_type(A)
3773
- reveal_type(B)
3776
+ A(1, 'str', True)
3777
+ A(None, None, None)
3778
+ B(1, 'str', True, 1, 'str', True)
3779
+ B(None, None, None, None, None, None)
3780
+
3781
+ from submodule.base import SubBase
3782
+ SubBase(1, 'str', True)
3783
+ SubBase(None, None, None)
3784
+
3785
+ from submodule.subclass import AA, BB
3786
+ AA(1, 'str', True)
3787
+ AA(None, None, None)
3788
+ BB(1, 'str', True, 1, 'str', True)
3789
+ BB(None, None, None, None, None, None)
3790
+
3791
+ from submodule.subsubclass import SubAA, SubBB
3792
+ SubAA(1, 'str', True)
3793
+ SubAA(None, None, None)
3794
+ SubBB(1, 'str', True, 1, 'str', True)
3795
+ SubBB(None, None, None, None, None, None)
3796
+
3797
+ [file a.py.2]
3798
+ # Now with errors.
3799
+ from base import Base
3800
+ Base(1, 1, True)
3801
+
3802
+ from subclass import A, B
3803
+ A(1, 1, True)
3804
+ B(1, 'str', True, 1, 1, True)
3805
+
3774
3806
from submodule.base import SubBase
3775
- reveal_type(SubBase)
3807
+ SubBase(1, 1, True)
3808
+
3776
3809
from submodule.subclass import AA, BB
3777
- reveal_type(AA)
3778
- reveal_type(BB)
3810
+ AA(1, 1, True)
3811
+ BB(1, 'str', True, 1, 1, True)
3812
+
3779
3813
from submodule.subsubclass import SubAA, SubBB
3780
- reveal_type( SubAA)
3781
- reveal_type( SubBB)
3814
+ SubAA(1, 1, True )
3815
+ SubBB(1, 'str', True, 1, 1, True )
3782
3816
3783
3817
[file foo.py]
3784
3818
from typing import Optional
@@ -3866,23 +3900,15 @@ class SubBB(SubBase):
3866
3900
zz: bool = attr.ib(converter=bar.maybe_bool)
3867
3901
[builtins fixtures/list.pyi]
3868
3902
[out1]
3869
- main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> base.Base'
3870
- main:4: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> subclass.A'
3871
- main:5: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> subclass.B'
3872
- main:7: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.base.SubBase'
3873
- main:9: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.subclass.AA'
3874
- main:10: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> submodule.subclass.BB'
3875
- main:12: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.subsubclass.SubAA'
3876
- main:13: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> submodule.subsubclass.SubBB'
3877
- [out2]
3878
- main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> base.Base'
3879
- main:4: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> subclass.A'
3880
- main:5: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> subclass.B'
3881
- main:7: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.base.SubBase'
3882
- main:9: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.subclass.AA'
3883
- main:10: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> submodule.subclass.BB'
3884
- main:12: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None]) -> submodule.subsubclass.SubAA'
3885
- main:13: error: Revealed type is 'def (x: Union[builtins.int, builtins.None], y: Union[builtins.str, builtins.None], z: Union[builtins.bool, builtins.None], xx: Union[builtins.int, builtins.None], yy: Union[builtins.str, builtins.None], zz: Union[builtins.bool, builtins.None]) -> submodule.subsubclass.SubBB'
3903
+ [out2]
3904
+ tmp/a.py:3: error: Argument 2 to "Base" has incompatible type "int"; expected "Optional[str]"
3905
+ tmp/a.py:6: error: Argument 2 to "A" has incompatible type "int"; expected "Optional[str]"
3906
+ tmp/a.py:7: error: Argument 5 to "B" has incompatible type "int"; expected "Optional[str]"
3907
+ tmp/a.py:10: error: Argument 2 to "SubBase" has incompatible type "int"; expected "Optional[str]"
3908
+ tmp/a.py:13: error: Argument 2 to "AA" has incompatible type "int"; expected "Optional[str]"
3909
+ tmp/a.py:14: error: Argument 5 to "BB" has incompatible type "int"; expected "Optional[str]"
3910
+ tmp/a.py:17: error: Argument 2 to "SubAA" has incompatible type "int"; expected "Optional[str]"
3911
+ tmp/a.py:18: error: Argument 5 to "SubBB" has incompatible type "int"; expected "Optional[str]"
3886
3912
3887
3913
[case testAttrsIncrementalConverterInFunction]
3888
3914
import attr
@@ -3895,9 +3921,9 @@ def foo() -> None:
3895
3921
reveal_type(A)
3896
3922
[builtins fixtures/list.pyi]
3897
3923
[out1]
3898
- main:8: error: Revealed type is 'def (x: str? ) -> __main__.A@5'
3924
+ main:8: error: Revealed type is 'def (x: builtins. str) -> __main__.A@5'
3899
3925
[out2]
3900
- main:8: error: Revealed type is 'def (x: str? ) -> __main__.A@5'
3926
+ main:8: error: Revealed type is 'def (x: builtins. str) -> __main__.A@5'
3901
3927
3902
3928
[case testAttrsIncrementalConverterInSubmoduleForwardRef]
3903
3929
from a.a import A
0 commit comments