Macro manyhow::derive

source ·
macro_rules! derive {
    ($item:expr, $impl:expr $(,)?) => { ... };
}
Expand description

Handles proc_macro_derive implementation.

Takes any TokenStream for item and returns any TokenStream. body takes a DeriveMacroHandler with one TokenStream or type implementing Parse parameter and returns a TokenStream or type implementing ToTokens. And an optional &mut Emitter and &mut TokenStream for storing a dummy output.

use manyhow::{derive, Emitter, Result};
use proc_macro2::TokenStream;
derive!(item, |item: syn::DeriveInput,
               dummy: &mut TokenStream,
               emitter: &mut Emitter|
 -> Result {
    // ..
});