用途:帮助编写与调试 Rust 声明式宏(macro_rules!),覆盖匹配器与转录器语法、片段说明符选择、重复操作符、跟随集限制、混合站点卫生性、$crate、TT-munching 递归、#[macro_export] 与 #[macro_use] 作用域,以及 edition 2024 的 expr 放宽。
主要能力:提供片段说明符速查表(block、expr、expr_2021、ident、item、lifetime、literal、meta、pat、pat_param、path、stmt、tt、ty、vis)及其跟随集;给出选择说明符的决策树;说明重复语法 $( ... )*、+、? 与分隔符规则;介绍稳定版 Rust 1.86+ 的元变量表达式 ${count($x)}、${index()}、${len()}、${ignore($x)}、$$;解释混合站点卫生性、$crate 跨 crate 路径、宏作用域机制与 TT-munching 递归写法。
使用方式:按需查阅对应章节;编写宏时优先选用最具体的片段说明符,避免滥用 tt;在 #[macro_export] 宏内使用 $crate:: 引用本 crate 条目;用 $(,)? 允许调用处尾随分隔符;计数优先用 ${count($x)} 而非手写 TT-munching;递归过深时在 crate 根设置 #![recursion_limit = "256"]。
适用场景:宏匹配器无法编译或不匹配调用点、选择片段说明符、重复出现歧义或重复绑定错误、跨 crate 找不到辅助条目、TT-muncher 触发递归上限、升级 edition 2024 后 expr 匹配范围变化、理解 $crate 与卫生性、混用 #[macro_use] 与路径导入。
限制:资料未提供具体安装命令、收费方式或平台信息;过程宏(derive、属性宏、函数式过程宏)与 edition 2024 细节需参考其交叉引用文档;示例与规则以 Rust Reference 与 Little Book of Rust Macros 为准,实际行为受编译器版本影响。