用途:审查 Rust 宏代码,覆盖卫生性问题、片段误用、编译期影响与过程宏写法,适合在评审 macro_rules! 定义、函数式过程宏、属性宏和派生宏时使用。
主要能力:先区分宏类型(声明式、函数式过程宏、属性宏、派生宏),再判断是否真需要宏——若转换是类型层面的,泛型更合适。检查 Cargo.toml 中的 Rust edition、是否 proc-macro = true、syn/quote/proc-macro2 依赖与 feature 标志。声明式宏检查片段类型(:expr/:tt/:ident)、重复分隔符、尾随逗号、匹配臂由具体到宽泛排序、卫生边界、导出宏使用 $crate::、no_std 使用 ::core::/::alloc::、compile_error! 兜底。过程宏检查 syn feature 最小化、span 传播、syn::Error::new_spanned 与 combine 收集多个错误、parse_quote! 与 quote! 的选用、从 proc_macro2 重导出类型、用 proc-macro2 便于测试、生成代码量控制。派生宏检查派生语义明显、辅助属性有文档、各变体形状实现正确、使用完全限定路径。属性宏检查输入项保留或有意转换、参数校验、测试命名唯一。还包含 Edition 2024 意识(gen 关键字、unsafe extern、显式 unsafe 块)。
使用方式:按顺序完成前置门(Gate 1 读取 Crate 上下文;Gate 2 读完整宏定义;Gate 3 每条发现给出当前代码树的 [FILE:LINE];Gate 4 应用 review-verification-protocol)。输出格式为 [FILE:LINE] ISSUE_TITLE 加严重级别(Critical/Major/Minor/Informational)与说明。
限制:资料仅描述评审流程与检查项,未提供具体安装命令、收费、平台支持或效果数据;缺失信息暂未提供。