Derive Macro rkyv::Archive [−][src]
#[derive(Archive)]
{
// Attributes available to this derive:
#[archive]
#[recursive]
}
Derives Archive for the labeled type.
Additional arguments can be specified using the #[archive(...)] attribute:
copy: ImplementsArchiveCopyas well asArchive. Only suitable for types that can be directly archived.derive(...): Adds a#[derive(...)]attribute to the archived type.name,name = "...": Exposes the archived type with the given name. If used without a name assignment, uses the name"Archived" + name.
This derive macro automatically adds a type bound field: Archive for each
field type. This can cause an overflow while evaluating trait bounds if the
structure eventually references its own type, as the implementation of
Archive for a struct depends on each field type implementing it as well.
Adding the attribute #[recursive] to a field will suppress this trait
bound and allow recursive structures. This may be too coarse for some types,
in which case Archive will have to be implemented manually.