1个稳定版本
新 1.0.0 | 2024年8月18日 |
---|
234 在 过程宏
109 每月下载
30KB
639 行
quote-data
Rust的标记化库。
用法
quote-data
提供了 derive 宏 quote_data::QuoteIt
,该宏为结构体或枚举实现了 quote::ToTokens
。
use quote_data::QuoteIt;
use proc_macro2::TokenStream;
use quote::quote;
#[derive(QuoteIt)]
struct Foo {
a: i32,
b: i64
}
#[derive(QuoteIt)]
#[mod_path="path::to::mod"]
enum Bar {
A(u8, String),
B
}
fn some_fn() -> TokenStream {
let foo = Foo {a: 1, b: 2};
let bar = Bar::A(1, "test".to_string);
quote! {
|| (#foo, #bar)
}
}
支持类型
- 任何实现了
quote::ToTokens
的类型 字符串
Vec
,HashMap
,HashSet
Result
,Option
元组
标准库::标记::PhantomData
依赖
~320–780KB
~18K SLoC