Skip to content

Commit 602e660

Browse files
committed
Allow on_setattr=setters.NO_OP on frozen classes
1 parent fb9ea67 commit 602e660

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

src/attr/_make.py

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2014,11 +2014,13 @@ def _make_init_script(
20142014
attr_dict[a.name] = a
20152015

20162016
if a.on_setattr is not None:
2017-
if frozen is True:
2017+
if a.on_setattr is setters.NO_OP:
2018+
pass
2019+
elif frozen is True:
20182020
msg = "Frozen classes can't use on_setattr."
20192021
raise ValueError(msg)
2020-
2021-
needs_cached_setattr = True
2022+
else:
2023+
needs_cached_setattr = True
20222024
elif has_cls_on_setattr and a.on_setattr is not setters.NO_OP:
20232025
needs_cached_setattr = True
20242026

0 commit comments

Comments
 (0)