4个版本 (2个重大更新)

新增 0.97.1 2024年8月21日
0.97.0 2024年8月20日
0.96.1 2024年7月29日
0.96.0 2024年7月24日
0.95.0 2024年6月25日

1734过程宏 中排名

Download history 1236/week @ 2024-06-25 623/week @ 2024-07-02 547/week @ 2024-07-09 492/week @ 2024-07-16 1437/week @ 2024-07-23 1314/week @ 2024-07-30 684/week @ 2024-08-06 701/week @ 2024-08-13

每月下载量:4,196
44 个库中使用 (通过 nu-protocol)

MIT 许可证

49KB
698

宏实现 #[derive(FromValue, IntoValue)]

由于这个库是一个 proc_macro 库,它只能导出 过程宏。因此,它只导出了 IntoValueFromValue

要获取此库中使用的其他函数和类型的文档,运行 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