wrap_display_handler

Macro wrap_display_handler 

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

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

ยงExample


wrap_display_handler! {
    struct MyDisplayHandler {
        payload: String,
    }

    impl DisplayHandler {
        // ...
    }
}

fn make_my_struct() -> DisplayHandler {
    MyDisplayHandler::new("payload".to_string())
}