macro_rules! wrap_accessibility_handler {
($ vis : vis struct $ name : ident ; impl AccessibilityHandler { $ ($ (# [$ 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 AccessibilityHandler { $ ($ (# [$ attrs_name : meta]) * fn $ method_name : ident (& $ self : ident $ (, $ arg_name : ident : $ arg_type : ty) * $ (,) ?) $ (-> $ return_type : ty) ? { $ ($ body : tt) * }) * }) => { ... };
}Expand description
Implement the WrapAccessibilityHandler trait for the specified struct. You can declare more
members for your struct, and in the impl AccessibilityHandler block you can override default
methods implemented by the ImplAccessibilityHandler trait.
ยงExample
wrap_accessibility_handler! {
struct MyAccessibilityHandler {
payload: String,
}
impl AccessibilityHandler {
// ...
}
}
fn make_my_struct() -> AccessibilityHandler {
MyAccessibilityHandler::new("payload".to_string())
}