首页 > 解决方案 > 在另一个属性宏的实现中调用属性宏

问题描述

我找不到如何在属性宏的结果中注入属性宏。

这是一种注入的示例:

use quote::quote;
use proc_macro::TokenStream;

#[proc_macro_attribute]
pub fn my_test(_: TokenStream, item: TokenStream) -> TokenStream {
    let result = quote! {
        #[test]
        #item
    };

    result.into()
}

它在编译时生成错误。我们可以调用另一个属性宏吗?

文档既不反驳也不证实它。

标签: rustrust-macros

解决方案


推荐阅读