wrap_render_handler

Macro wrap_render_handler 

Source
macro_rules! wrap_render_handler {
    ($ vis : vis struct $ name : ident ; impl RenderHandler { $ ($ (# [$ 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 RenderHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}
Expand description

Implement the WrapRenderHandler trait for the specified struct. You can declare more members for your struct, and in the impl RenderHandler block you can override default methods implemented by the ImplRenderHandler trait.

ยงExample


wrap_render_handler! {
    struct MyRenderHandler {
        payload: String,
    }

    impl RenderHandler {
        // ...
    }
}

fn make_my_struct() -> RenderHandler {
    MyRenderHandler::new("payload".to_string())
}