8个版本
| 0.1.7 | 2021年1月27日 |
|---|---|
| 0.1.6 | 2021年1月27日 |
| 0.1.2 | 2020年7月9日 |
| 0.1.0 | 2020年6月30日 |
#1537 in 过程宏
30KB
641 行
爱罗哈
爱罗哈是Rust的标记化库。
使用
爱罗哈提供 derive 宏 iroha::ToTokens. 派生结构体或枚举将实现 quote::ToTokens.
use iroha::ToTokens;
use proc_macro2::TokenStream;
use quote::quote;
#[derive(ToTokens)]
struct Foo {
a: i32,
b: i64
}
#[derive(ToTokens)]
#[Iroha(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的任何类型 StringVec,HashMap,HashSetResult,OptionTuple(仅支持两个元素)std::marker::PhantomData
依赖
~0.8–1.3MB
~25K SLoC