INNER CODE UNIT · Rust
function_like_reverse_spans
intellij-rust/intellij-rust · testData/test-proc-macros/src/lib.rs:72
pub fn function_like_reverse_spans(item: TokenStream) -> TokenStream {
let tts = item.into_iter().collect::<Vec<_>>();
tts.iter().enumerate().map(|(i, tt)| {
let mut tt2 = tt.clone();
tt2.set_span(tts[tts.len() - 1 - i].span());
tt2
}).collect::<TokenStream>()
}
#[proc_macro_derive(DeriveImplForFoo)]
pub fn derive_impl_for_foo(_item: TokenStream) -> TokenStream {
"impl Foo { fn foo(&self) -> Bar {} }".parse().unwrap()
}
#[proc_macro_derive(DeriveStructFooDeclaration)]
pub fn derive_struct_foo_declaration(_item: TokenStream) -> TokenStream {
"struct Foo;".parse().unwrap()
}