| 468 | |
| 469 | |
| 470 | class _stateful_declared_attr(declared_attr[_T_co]): |
| 471 | kw: Dict[str, Any] |
| 472 | |
| 473 | def __init__(self, **kw: Any): |
| 474 | self.kw = kw |
| 475 | |
| 476 | @hybridmethod |
| 477 | def _stateful(self, **kw: Any) -> _stateful_declared_attr[_T_co]: |
| 478 | new_kw = self.kw.copy() |
| 479 | new_kw.update(kw) |
| 480 | return _stateful_declared_attr(**new_kw) |
| 481 | |
| 482 | def __call__( |
| 483 | self, fn: _DeclaredAttrDecorated[_T_co] |
| 484 | ) -> declared_attr[_T_co]: |
| 485 | return declared_attr(fn, **self.kw) |
| 486 | |
| 487 | |
| 488 | @util.deprecated( |