Macro riddle_common::define_handles [−][src]
Implement CloneHandle trait and define handle types for a given object.
Example
struct SimpleStruct { weak_self: SimpleStructWeak } define_handles!(<SimpleStruct>::weak_self, SimpleStructHandle, SimpleStructWeak); fn main() { let handle: SimpleStructHandle = SimpleStructHandle::new(|weak_self| SimpleStruct { weak_self }); }
Generic Example
struct GenericStruct<T: Clone> { weak_self: GenericStructWeak<T>, value: T, } define_handles!(<GenericStruct<T> where T: Clone>::weak_self, GenericStructHandle<T>, GenericStructWeak<T>); fn main() { let handle: GenericStructHandle<bool> = GenericStructHandle::new(|weak_self| GenericStruct { weak_self, value: true, }); }