
Rust 编译期能挡住什么仍要靠测试补什么Rust 的所有权和类型系统能阻止许多悬垂引用与数据竞争但业务状态、协议顺序和资源耗尽仍可能出错。把“编译通过”写成安全结论会遗漏真正的运行边界。类型表达约束用枚举表示互斥状态用新类型区分不同标识和单位让无效组合尽量无法构造。外部输入先反序列化到受限类型再进入核心逻辑不要在各个调用点重复字符串校验。编译器无法知道订单能否重复提交、重试是否幂等也不能判断队列容量是否足够。为这些规则写属性测试和状态机测试覆盖乱序、重复、取消与恢复。本地验证保持可重复锁定工具链和依赖命令从干净目录执行。Miri、Clippy 和 sanitizer 各自解决不同问题结果要和代码版本一起保存。编译期防线很重要但它是验证体系的一层不是全部。