mirror of
https://github.com/Yuyi-Oak/BlueArchiveToolkit.git
synced 2026-07-21 22:11:26 +08:00
CasRepository::exists(core trait)与底层 Storage::exists 原返回裸 bool, FileSystemStorage 用 try_exists(...).unwrap_or(false)、infra 适配层吞掉解析/ 初始化错误返回 false,调用方无法区分“对象不存在”和权限/IO/初始化故障。 将整条链改为 Result<bool>: - storage trait 与 FileSystemStorage:try_exists 的 IO 错误经 ? 传播; - repository FileSystemCasRepository::exists 及 store/add_reference 内部调用; - core CasRepository::exists trait; - infra 适配层:解析失败→InvalidArgument、初始化/引擎错误经 map_error 传播。 Ok(false) 仅表示确实不存在。 新增单测:合法但不存在的对象返回 Ok(false),非法 ObjectId 返回 Err(而非静默 false);同步更新各层 exists 断言。 对应 issue #18 维护清单 2-1。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>