macro_rules! wrap_render_process_handler {
($ vis : vis struct $ name : ident ; impl RenderProcessHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
($ vis : vis struct $ name : ident $ (< $ ($ generic_type : ident : $ first_generic_type_bound : tt $ (+ $ generic_type_bound : tt) *) , + $ (,) ? >) ? { $ ($ field_vis : vis $ field_name : ident : $ field_type : ty) , * $ (,) ? } impl RenderProcessHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}Expand description
Implement the WrapRenderProcessHandler trait for the specified struct. You can declare more
members for your struct, and in the impl RenderProcessHandler block you can override default
methods implemented by the ImplRenderProcessHandler trait.
ยงExample
wrap_render_process_handler! {
struct MyRenderProcessHandler {
payload: String,
}
impl RenderProcessHandler {
// ...
}
}
fn make_my_struct() -> RenderProcessHandler {
MyRenderProcessHandler::new("payload".to_string())
}