Hello.
I wonder how to span errors in an AttrProcMacro
.
If we look at the example:
#[plugin_registrar]
pub fn plugin_registrar(reg: &mut Registry) {
reg.register_syntax_extension(token::intern("foo"),
SyntaxExtension::AttrProcMacro(Box::new(foo_impl)));
reg.register_syntax_extension(token::intern("bar"),
SyntaxExtension::ProcMacro(Box::new(bar)));
}
fn foo_impl(_attr: TokenStream, item: TokenStream) -> TokenStream {
let _source = item.to_string();
lex("fn f() { println!(\"Good bye!\"); }")
}
The foo_impl
function does not receive the context, so how can I span an error?
Thanks for your help.