Open
These uses the same code path as `dataclasses`, with the same behaviors and restrictions. In particular any attribute lacking a leading underscore on an `attrs` type is encoded, regardless of if it's declared as an attribute.
These follow the same code path as `dataclasses`, and have the same restrictions: - The generated `__init__` is not called. `msgspec` calls the proper hooks in the proper order. - `__attrs_pre_init__` and `__attrs_post_init__` hooks are both supported and will be called on decode. - `attrs.Factory(..., takes_self=True)` defaults aren't currently supported, but could be if someone asks for it.