wrap_v8_array_buffer_release_callback

Macro wrap_v8_array_buffer_release_callback 

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

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

ยงExample


wrap_v8_array_buffer_release_callback! {
    struct MyV8ArrayBufferReleaseCallback {
        payload: String,
    }

    impl V8ArrayBufferReleaseCallback {
        // ...
    }
}

fn make_my_struct() -> V8ArrayBufferReleaseCallback {
    MyV8ArrayBufferReleaseCallback::new("payload".to_string())
}