Originally reported in https://github.com/ericvsmith/dataclasses/issues/154
import pickle
from dataclasses import dataclass
@dataclass(frozen=True, slots=True)
class ExampleDataclass:
foo: str
bar: int
assert ExampleDataclass.__slots__ == ("foo", "bar")
assert pickle.loads(
pickle.dumps(ExampleDataclass("a", 1))
) == ExampleDataclass("a", 1)
File "<string>", line 4, in __setattr__
dataclasses.FrozenInstanceError: cannot assign to field 'foo'
I'll get a PR ready, likely based on ariebovenberg's solution in the above mentioned issue.