Trait manyhow::AttributeMacroHandler
source · pub trait AttributeMacroHandler<Function> {
type Input;
type Item;
type Dummy;
type Output;
// Required method
fn call(
self,
item: Self::Input,
item: Self::Item,
dummy: &mut Self::Dummy,
emitter: &mut Emitter
) -> Self::Output;
}
Expand description
Input of an attribute proc-macro
Note: for TokenStream
either proc_macro::TokenStream
or
proc_macro2::TokenStream
can be used.
Trait is implemented for any function
, taking in
two TokenStream
s.
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
attribute()
it must return a type implementing MacroOutput
, with
attribute!
it can accept types implementing Parse
and return types
implementing ToTokens
.