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
的任何类型 String
Vec
,HashMap
,HashSet
Result
,Option
Tuple
(仅支持两个元素)std::marker::PhantomData
依赖
~0.8–1.3MB
~25K SLoC