@@ -3745,183 +3745,6 @@ class C(A, B):
37453745[out1]
37463746[out2]
37473747
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-
39253748[case testAttrsIncrementalThreeRuns]
39263749from a import A
39273750A(5)
0 commit comments