Add test for 'Final'-qualified field without a default

This commit is contained in:
David Peter 2025-07-08 14:23:50 +02:00
parent b92a283f35
commit 7d642e6416
2 changed files with 7 additions and 2 deletions

View File

@ -456,13 +456,14 @@ from typing import Final, ClassVar
@dataclass @dataclass
class C: class C:
instance_variable_no_default: Final[int]
instance_variable: Final[int] = 1 instance_variable: Final[int] = 1
class_variable1: ClassVar[Final[int]] = 1 class_variable1: ClassVar[Final[int]] = 1
class_variable2: ClassVar[Final[int]] = 1 class_variable2: ClassVar[Final[int]] = 1
reveal_type(C.__init__) # revealed: (self: C, instance_variable: int = Literal[1]) -> None reveal_type(C.__init__) # revealed: (self: C, instance_variable_no_default: int, instance_variable: int = Literal[1]) -> None
c = C() c = C(1)
# TODO: this should be an error # TODO: this should be an error
c.instance_variable = 2 c.instance_variable = 2
``` ```

View File

@ -162,6 +162,10 @@ from typing import Final
# TODO: This should be an error # TODO: This should be an error
NO_RHS: Final NO_RHS: Final
class C:
# TODO: This should be an error
NO_RHS: Final
``` ```
[`typing.final`]: https://docs.python.org/3/library/typing.html#typing.Final [`typing.final`]: https://docs.python.org/3/library/typing.html#typing.Final