Trait manyhow::DeriveMacroHandler
source · pub trait DeriveMacroHandler<Function> {
type Item;
type Dummy;
type Output;
// Required method
fn call(
self,
item: Self::Item,
dummy: &mut Self::Dummy,
emitter: &mut Emitter,
) -> Self::Output;
}
Expand description
Input of a derive proc-macro
Note: for TokenStream
either proc_macro::TokenStream
or
proc_macro2::TokenStream
can be used.
Trait is implemented for any function
, taking in
one TokenStream
.
Additionally, they can take optionally in any order a &mut Emitter
which allows emitting errors without returning early. And
a &mut TokenStream
to return a dummy TokenStream
on failure.
When used with
derive()
it must return a type implementing MacroOutput
, with
derive!
it can accept types implementing Parse
and return types
implementing ToTokens
.