diff --git a/stdlib/@tests/test_cases/check_types.py b/stdlib/@tests/test_cases/check_types.py index 7dcf31923bec..8ae5b1641abb 100644 --- a/stdlib/@tests/test_cases/check_types.py +++ b/stdlib/@tests/test_cases/check_types.py @@ -1,3 +1,5 @@ +from __future__ import annotations + import sys import types from collections import UserDict @@ -39,3 +41,20 @@ assert_type(item_3, Union[int, str]) # Default isn't accepted as a keyword argument. mp.get(4, default="default") # type: ignore + + +# test: `types.DynamicClassAttribute` +class DCAtest: + _value: int | None = None + + @types.DynamicClassAttribute + def foo(self) -> int | None: + return self._value + + @foo.setter + def foo(self, value: int) -> None: + self._value = value + + @foo.deleter + def foo(self) -> None: + self._value = None