wrap_end_tracing_callback

Macro wrap_end_tracing_callback 

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

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

ยงExample


wrap_end_tracing_callback! {
    struct MyEndTracingCallback {
        payload: String,
    }

    impl EndTracingCallback {
        // ...
    }
}

fn make_my_struct() -> EndTracingCallback {
    MyEndTracingCallback::new("payload".to_string())
}