Trait ChangerInterface

Source
pub trait ChangerInterface: Debug + Clone {
    type Root: ChangerInterface;
    type Parent: ChangerInterface;

    // Required methods
    fn context(self) -> Self::Root;
    fn parent(&mut self) -> &mut Self::Parent;
    fn end(self) -> Self::Parent;

    // Provided methods
    fn root(&mut self) -> &mut Self::Root { ... }
    fn change_add<Change>(&mut self, change: Change) -> &mut Self
       where Change: ChangeInterface + 'static { ... }
}
Expand description

Context.

Required Associated Types§

Source

type Root: ChangerInterface

Type of root changer.

Source

type Parent: ChangerInterface

Type of parent changer.

Required Methods§

Source

fn context(self) -> Self::Root

Get back to root changer.

Source

fn parent(&mut self) -> &mut Self::Parent

Get parent.

Source

fn end(self) -> Self::Parent

Get back to parent changer.

Provided Methods§

Source

fn root(&mut self) -> &mut Self::Root

Get root.

Source

fn change_add<Change>(&mut self, change: Change) -> &mut Self
where Change: ChangeInterface + 'static,

Add change.

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§