23 个版本
| 0.8.3 | 2024 年 7 月 8 日 |
|---|---|
| 0.8.0 | 2023 年 11 月 16 日 |
| 0.7.1 | 2023 年 5 月 21 日 |
| 0.7.0 | 2023 年 3 月 31 日 |
| 0.5.1 | 2022 年 6 月 19 日 |
#180 在 过程宏 中
416,321 每月下载量
用于 262 个 crates (9 直接)
13KB
96 行
在 quote! 中使用 use 语句
描述
一个宏,用于简化在 quote! 宏中使用类型。
用法
quote_use! 宏可以像 quote! 一样使用,但增加了在顶部添加 use 语句的功能
quote_use!{
use std::fs::read;
read("src/main.rs")
}
这将扩展为使用 quote! 的等效语句
quote!{
::std::fs::read::read("src/main.rs")
}
引言
这也允许直接使用 rust 引言的内容
quote_use!{
Some("src/main.rs")
}
覆盖引言
当您想使用自己的类型而不是引言类型时,可以通过如下方式简单地导入它来实现
quote_use!{
use anyhow::Result;
Result
}
不同的引言
默认情况下,quote_use! 使用 std 引言 为 2021 版本,但可以通过功能进行配置,甚至可以完全禁用。
prelude_std:启用std::prelude::v1(与prelude_core不兼容)prelude_core:启用core::prelude::v1(与prelude_std不兼容)prelude_2021:启用core::prelude::rust_2021(需要prelude_std或prelude_core)
其他 quote 宏
quote_use!和quote_spanned_use!分别作为quote!和quote_spanned!的替代parse_quote_use!和parse_quote_spanned_use!用于parse_quote!和parse_quote_spanned!
自动命名空间标识符
在 Span::def_site 稳定之前,例如在 proc-macro 扩展中的 let 绑定中的标识符可能会与常量等冲突。
为了避免这种情况,您可以启用功能 namespace_idents,这将使用模式 "__{crate_name}_{ident}" 将所有标识符替换为自动命名空间的标识符。
依赖关系
~0.4–0.9MB
~21K SLoC