Я пытаюсь написать процедурный макрос Rust, который можно применить к блоку impl, например:
struct SomeStruct { }
#[my_macro]
impl SomeStruct { }
Я использую синтаксис и кавычки для анализа и форматирования TokenStream
s вмакро.Это выглядит примерно так:
#[proc_macro_attribute]
pub fn my_macro(meta: TokenStream, code: TokenStream) -> TokenStream {
let input = parse_macro_input!(code as ItemImpl);
// ...
TokenStream::from(quote!(#input))
}
Есть ли способ получить доступ к имени типа блока impl с помощью syn?Я не вижу ни одного поля в ItemImpl
, которое бы дало мне эту информацию.