4个版本 (2个重大更新)
新增 0.97.1 | 2024年8月21日 |
---|---|
0.97.0 |
|
0.96.1 | 2024年7月29日 |
0.96.0 | 2024年7月24日 |
0.95.0 | 2024年6月25日 |
1734 在 过程宏 中排名
每月下载量:4,196
在 44 个库中使用 (通过 nu-protocol)
49KB
698 行
宏实现 #[derive(FromValue, IntoValue)]
。
由于这个库是一个 proc_macro
库,它只能导出 过程宏。因此,它只导出了 IntoValue
和 FromValue
。
要获取此库中使用的其他函数和类型的文档,运行 cargo doc -p nu-derive-value --document-private-items
。
此crate使用了大量的proc_macro2::TokenStream
作为TokenStream2
,以便直接测试宏的行为,包括输出令牌流或是否如预期出现错误。功能测试可以在nu_protocol::value::test_derive
中找到。
与典型的Rust文档相比,这份文档的参考内容较少。这是因为此crate是nu_protocol
的依赖项,与之链接将创建循环依赖。此外,文档中的所有示例都没有经过测试,因为此crate很难作为一个普通的库进行编译。如果cargo允许为cfg(doctest)
构建proc-macro crate,这可能会在未来发生变化,正如它们已经为cfg(test)
所做的那样。
由 derive 宏生成的代码尽量做到尽可能的卫生。这确保了宏可以在任何地方调用,而不需要特定的导入。这导致代码晦涩难懂,不推荐手动编写Rust代码,但确保没有其他代码可以影响此生成的代码,反之亦然。
依赖项
~0.9–1.4MB
~26K SLoC