wrap_dev_tools_message_observer

Macro wrap_dev_tools_message_observer 

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

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

ยงExample


wrap_dev_tools_message_observer! {
    struct MyDevToolsMessageObserver {
        payload: String,
    }

    impl DevToolsMessageObserver {
        // ...
    }
}

fn make_my_struct() -> DevToolsMessageObserver {
    MyDevToolsMessageObserver::new("payload".to_string())
}