@@ -2498,43 +2498,32 @@ reveal_type(c.run_type) # N: Revealed type is "Union[builtins.int, None]"
24982498[builtins fixtures/plugin_attrs.pyi]
24992499
25002500[case testAttrsInitOverload1]
2501- from typing import Union
2501+ # flags: --python-version 3.10
25022502from typing import overload
25032503
25042504import attrs
25052505
25062506@attrs.frozen(init=False)
25072507class C:
2508- x: Union[int, str]
2508+ x: "int | str"
2509+
25092510 @overload
25102511 def __init__(self, x: int) -> None: ...
25112512
25122513 @overload
25132514 def __init__(self, x: str) -> None: ...
25142515
2515- def __init__(self, x: Union[ int, str] ) -> None:
2516+ def __init__(self, x: " int | str" ) -> None:
25162517 self.__attrs_init__(x)
25172518
2519+
25182520obj = C(1)
2519- attrs.evolve(obj, x=2)
2521+ attrs.evolve(obj, x=2) # E: Argument 1 to "evolve" has incompatible type "C"; expected an attrs class
2522+ attrs.evolve(obj, x="2") # E: Argument 1 to "evolve" has incompatible type "C"; expected an attrs class
25202523[builtins fixtures/plugin_attrs.pyi]
25212524
25222525[case testAttrsInitOverload2]
2523- from typing import Union
2524- import attrs
2525-
2526- @attrs.frozen(init=False)
2527- class C:
2528- x: Union[int, str]
2529-
2530- def __init__(self, x: Union[int, str], y: bool) -> None:
2531- self.__attrs_init__(x)
2532-
2533- obj = C(1, False)
2534- attrs.evolve(obj, x=2)
2535- [builtins fixtures/plugin_attrs.pyi]
2536-
2537- [case testAttrsInitOverload3]
2526+ # flags: --python-version 3.10
25382527from typing import overload
25392528
25402529import attrs
@@ -2553,5 +2542,5 @@ class C:
25532542 self.__attrs_init__(x)
25542543
25552544obj = C(1)
2556- attrs.evolve(obj, x=2)
2557- [builtins fixtures/plugin_attrs.pyi]
2545+ attrs.evolve(obj, x=2) # E: Argument 1 to "evolve" has incompatible type "C"; expected an attrs class
2546+ [builtins fixtures/plugin_attrs.pyi]
0 commit comments