Evolve

Trait Evolve 

Source
pub trait Evolve<T>: Sized {
    type Evolved: Devolve<T, Devolved = Self>;

    // Required method
    fn try_into_evolved(self) -> Result<Self::Evolved, Error>;
}
Expand description

A data structure which represents the potentially incomplete form of another evolving data structure, and which may be converted into this “evolved” form with possibility for error.

Additionally, serde-devo provides a procedural macro called serde_devo_derive to automatically generate Evolvable types for structs and enums in your program.

In rare cases it may be necessary to implement Evolvable manually for some type in your program.

Required Associated Types§

Source

type Evolved: Devolve<T, Devolved = Self>

Required Methods§

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§