# 错误处理与可靠性检查清单

## Result 与可恢复错误

- 公共 API 是否将可恢复失败改成 `panic` 或 `unwrap`，缩小调用方处理空间。
- `?` 传播是否将错误类型过度擦除，导致调用方无法区分失败原因或丢失上下文。
- `map_err` / `context`（若使用）是否引入循环依赖或泄露敏感信息到错误链。

## Panic 与调试残留

- 库代码主路径上的 `unwrap` / `expect` / `todo!` / `unimplemented!` / `panic!` 是否在 diff 中引入生产不可接受的中断。
- `assert!` 是否用于运行时不变量而非常量或测试专用上下文。

## 资源与 Drop

- 错误返回路径是否遗漏 `drop` 或提前返回导致资源未释放（文件、锁 guard、网络句柄等），且 diff 可显示该路径。
- `ManuallyDrop` / `forget` 是否绕过正常清理导致泄漏或未定义行为。
