2个版本

0.1.1 2020年7月9日
0.1.0 2020年6月30日

#24 in #tokenization


用于iroha-derive

MIT/Apache

18KB
433

Iroha

Iroha 是一个用于 Rust 的标记化库。

使用方法

Iroha 提供 derive 宏 iroha::ToTokens. 通过 derive 生成的结构体或枚举将实现 quote::ToTokens.

use iroha::ToTokens;
use proc_macro2::TokenStream;
use quote::quote;

#[derive(ToTokens)]
struct Foo {
    a: i32,
    b: i64
}

#[derive(ToTokens)]
enum Bar {
    A,
    B
}

fn some_fn() -> TokenStream {
    let foo = Foo {a: 1, b: 2};
    let bar = Bar::A;

    quote! {
        || (#foo, #bar)
    }
}

支持类型

  • 任何实现了 quote::ToTokens 的类型
  • 字符串
  • VecHashMapHashSet
  • ResultOption

依赖

~1.5MB
~35K SLoC