1个稳定版本

1.0.0 2024年8月18日

234过程宏

Download history 109/week @ 2024-08-16

109 每月下载

MIT/Apache

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 的类型
  • 字符串
  • VecHashMapHashSet
  • ResultOption
  • 元组
  • 标准库::标记::PhantomData

依赖

~320–780KB
~18K SLoC