1 unstable release
0.1.0 | Aug 28, 2020 |
---|
#1396 in Procedural macros
240KB
321 lines
spanr
A tool for procedural macro authors to be able to interactively view and debug
the Span
s on generated code.
Screenshot
Example usage
#[proc_macro_attribute]
pub fn act_zero(_attr: TokenStream, item: TokenStream) -> TokenStream {
let res = match act_zero_impl(item) {
Ok(tokens) => tokens,
Err(e) => e.to_compile_error(),
};
// Save the visualization to a file
spanr::save_html(res.clone(), "tokens.html").unwrap();
res.into()
}
Building
This crate relies on unstable features from the proc-macro2
crate, so it must
be built using a nightly compiler, and the RUSTFLAGS
environment variable
must be configured:
RUSTFLAGS='--cfg procmacro2_semver_exempt'