From 99aab610622fc4b4c4fe56b77c0760cf77066a53 Mon Sep 17 00:00:00 2001 From: Nikita Sobolev Date: Mon, 1 May 2023 18:19:06 +0300 Subject: gh-104035: Do not ignore user-defined `__{get,set}state__` in slotted frozen dataclasses (#104041) --- Lib/dataclasses.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'Lib/dataclasses.py') diff --git a/Lib/dataclasses.py b/Lib/dataclasses.py index a73cdc22a5..b0b8a773b7 100644 --- a/Lib/dataclasses.py +++ b/Lib/dataclasses.py @@ -1227,8 +1227,10 @@ def _add_slots(cls, is_frozen, weakref_slot): if is_frozen: # Need this for pickling frozen classes with slots. - cls.__getstate__ = _dataclass_getstate - cls.__setstate__ = _dataclass_setstate + if '__getstate__' not in cls_dict: + cls.__getstate__ = _dataclass_getstate + if '__setstate__' not in cls_dict: + cls.__setstate__ = _dataclass_setstate return cls -- cgit v1.2.1