[][src]Macro ghost_actor::ghost_box_trait_fns

macro_rules! ghost_box_trait_fns {
    ($trait:ident) => { ... };
}

Ghost box helper macro - trait fn variant. Place this inside your trait definition.

Example

pub trait MyTrait {
    // trait fns here...

    ghost_box_trait_fns!(MyTrait);
}
ghost_box_trait!(MyTrait);

#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub struct MyConcrete;
impl MyTrait for MyConcrete {
    ghost_box_trait_impl_fns!(MyTrait);
}

pub struct BoxMyTrait(pub Box<dyn MyTrait>);

// BoxMyTrait will now implement `Debug + Clone + PartialEq + Eq + Hash`
ghost_box_new_type!(BoxMyTrait);