SuperAPI AI 工具集

rust-anti-slop

编程与开发

查看项目

更新于 10-16 05:45

技能介绍

用途:rust-anti-slop 是一套面向 Rust 的“反低质代码”护栏,针对 LLM 生成 Rust 时常见的低证据模式:.unwrap() 丢弃可失败性、为绕过借用错误而 clone、反射式 Arc<Mutex<T>>、let _ = 丢弃 #[must_use]、#[allow] 丢弃诊断、todo!() 伪造完成、无理由的 unsafe impl Send。它不禁止这些构造本身,而是要求给出论证。

主要能力:分两层执行。机械层提供 assets/workspace-lints.toml([workspace.lints] 表,精选 clippy restriction lint 与 rustc lint)和 assets/clippy.toml(测试豁免、disallowed-* 禁用项)。文字层为 references/rules.md,覆盖 lint 无法表达的规则,如 clone 理由、expect 消息质量、错误类型准则、抽象纪律。

使用方式:写或审查 Rust 前先通读 references/rules.md。审查时按严重度排序:伪造证据(unsafe/Send/transmute 误用)> 吞错 > 以 panic 当错误处理 > 生命周期缺口 > 为安抚借用检查器 > 结构/抽象。每条发现需说明涉及符号、丢弃了何种证据、具体失败模式、最小修复、防复发手段及推断与实证之分。安装 lint 策略时先检查仓库,合并配置,逐成员 opt-in,验证 cargo clippy --workspace --all-targets,CI 建议 cargo fmt --all --check 与 cargo clippy --workspace --all-targets,不要追加 -D warnings。

限制:完整策略需 Rust 1.82+([lints] 表 1.74+、#[expect]/reason 1.81+、unused_result_ok 1.82+),低版本需兼容模式。warn 层含 nursery lint,存在误报漏报。indexing_slicing 与 wildcard_enum_match_arm 争议较大,解析/数学密集 crate 可降级并说明理由。不启用 clippy::restriction 组。具体收费、平台与效果资料暂未提供。