As pointed out in ericvsmith/dataclasses#42 (comment) attr.evolve() behaves rather weird if an attribute has
- init=False,
- a default/
__attrs_post_init__, and
- attribute(s) are modified on the instance.
The new resulting object will always have the default value.
I think I can live with that limitation if we document it and it's probably a good reason to resolve #207 with sticking assoc around with a better name?
Giving it further thought, the raison d'être for evolve are immutable objects…so I think it's fine to just document this edge case and leave it be?
As pointed out in ericvsmith/dataclasses#42 (comment)
attr.evolve()behaves rather weird if an attribute has__attrs_post_init__, andThe new resulting object will always have the default value.
I think I can live with that limitation if we document it and it's probably a good reason to resolve #207 with sticking assoc around with a better name?
Giving it further thought, the raison d'être for evolve are immutable objects…so I think it's fine to just document this edge case and leave it be?