@@ -3745,183 +3745,6 @@ class C(A, B):
3745
3745
[out1]
3746
3746
[out2]
3747
3747
3748
- [case testAttrsIncrementalConverterInSubmodule]
3749
- from a.a import A
3750
- reveal_type(A)
3751
- [file a/__init__.py]
3752
- [file a/a.py]
3753
- from typing import Optional
3754
- def converter(s:Optional[int]) -> int:
3755
- ...
3756
-
3757
- import attr
3758
- @attr.s
3759
- class A:
3760
- x: int = attr.ib(converter=converter)
3761
-
3762
- [builtins fixtures/list.pyi]
3763
- [out1]
3764
- main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None]) -> a.a.A'
3765
- [out2]
3766
- main:2: error: Revealed type is 'def (x: Union[builtins.int, builtins.None]) -> a.a.A'
3767
-
3768
- [case testAttrsIncrementalConverterManyStyles]
3769
- from base import Base
3770
- reveal_type(Base)
3771
- from subclass import A, B
3772
- reveal_type(A)
3773
- reveal_type(B)
3774
- from submodule.base import SubBase
3775
- reveal_type(SubBase)
3776
- from submodule.subclass import AA, BB
3777
- reveal_type(AA)
3778
- reveal_type(BB)
3779
- from submodule.subsubclass import SubAA, SubBB
3780
- reveal_type(SubAA)
3781
- reveal_type(SubBB)
3782
-
3783
- [file foo.py]
3784
- from typing import Optional
3785
- def maybe_int(x: Optional[int]) -> int:
3786
- ...
3787
- [file bar.py]
3788
- from typing import Optional
3789
- def maybe_bool(x: Optional[bool]) -> bool:
3790
- ...
3791
- [file base.py]
3792
- from typing import Optional
3793
- import attr
3794
- import bar
3795
- from foo import maybe_int
3796
- def maybe_str(x: Optional[str]) -> str:
3797
- ...
3798
- @attr.s
3799
- class Base:
3800
- x: int = attr.ib(converter=maybe_int)
3801
- y: str = attr.ib(converter=maybe_str)
3802
- z: bool = attr.ib(converter=bar.maybe_bool)
3803
- [file subclass.py]
3804
- from typing import Optional
3805
- import attr
3806
- from base import Base
3807
- @attr.s
3808
- class A(Base): pass
3809
-
3810
- import bar
3811
- from foo import maybe_int
3812
- def maybe_str(x: Optional[str]) -> str:
3813
- ...
3814
- @attr.s
3815
- class B(Base):
3816
- xx: int = attr.ib(converter=maybe_int)
3817
- yy: str = attr.ib(converter=maybe_str)
3818
- zz: bool = attr.ib(converter=bar.maybe_bool)
3819
-
3820
- [file submodule/__init__.py]
3821
- [file submodule/base.py]
3822
- from typing import Optional
3823
- import attr
3824
- import bar
3825
- from foo import maybe_int
3826
- def maybe_str(x: Optional[str]) -> str:
3827
- ...
3828
- @attr.s
3829
- class SubBase:
3830
- x: int = attr.ib(converter=maybe_int)
3831
- y: str = attr.ib(converter=maybe_str)
3832
- z: bool = attr.ib(converter=bar.maybe_bool)
3833
-
3834
- [file submodule/subclass.py]
3835
- from typing import Optional
3836
- import attr
3837
- from base import Base
3838
- @attr.s
3839
- class AA(Base): pass
3840
-
3841
- import bar
3842
- from foo import maybe_int
3843
- def maybe_str(x: Optional[str]) -> str:
3844
- ...
3845
- @attr.s
3846
- class BB(Base):
3847
- xx: int = attr.ib(converter=maybe_int)
3848
- yy: str = attr.ib(converter=maybe_str)
3849
- zz: bool = attr.ib(converter=bar.maybe_bool)
3850
-
3851
- [file submodule/subsubclass.py]
3852
- from typing import Optional
3853
- import attr
3854
- from .base import SubBase
3855
- @attr.s
3856
- class SubAA(SubBase): pass
3857
-
3858
- import bar
3859
- from foo import maybe_int
3860
- def maybe_str(x: Optional[str]) -> str:
3861
- ...
3862
- @attr.s
3863
- class SubBB(SubBase):
3864
- xx: int = attr.ib(converter=maybe_int)
3865
- yy: str = attr.ib(converter=maybe_str)
3866
- zz: bool = attr.ib(converter=bar.maybe_bool)
3867
- [builtins fixtures/list.pyi]
3868
- [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'
3886
-
3887
- [case testAttrsIncrementalConverterInFunction]
3888
- import attr
3889
- def foo() -> None:
3890
- def foo(x: str) -> int:
3891
- ...
3892
- @attr.s
3893
- class A:
3894
- x: int = attr.ib(converter=foo)
3895
- reveal_type(A)
3896
- [builtins fixtures/list.pyi]
3897
- [out1]
3898
- main:8: error: Revealed type is 'def (x: str?) -> __main__.A@5'
3899
- [out2]
3900
- main:8: error: Revealed type is 'def (x: str?) -> __main__.A@5'
3901
-
3902
- [case testAttrsIncrementalConverterInSubmoduleForwardRef]
3903
- from a.a import A
3904
- reveal_type(A)
3905
- [file a/__init__.py]
3906
- [file a/a.py]
3907
- from typing import List
3908
- def converter(s:F) -> int:
3909
- ...
3910
-
3911
- import attr
3912
- @attr.s
3913
- class A:
3914
- x: int = attr.ib(converter=converter)
3915
-
3916
- F = List[int]
3917
-
3918
- [builtins fixtures/list.pyi]
3919
- [out1]
3920
- main:2: error: Revealed type is 'def (x: builtins.list[builtins.int]) -> a.a.A'
3921
- [out2]
3922
- main:2: error: Revealed type is 'def (x: builtins.list[builtins.int]) -> a.a.A'
3923
-
3924
-
3925
3748
[case testAttrsIncrementalThreeRuns]
3926
3749
from a import A
3927
3750
A(5)
0 commit comments