目录 mutation 追加逻辑按单行去重(environment.rs:318-350),重复执行时追加残缺尾块:裸 replace-with 行落入 [net] 节、[source.mirror] 节为空,cargo 解析失败 exit 101。首次出现:本版 1.0.3 新发现(绿区 Linux aarch64 独有记录,源码级定位)。受影响安装场景:目录 mutation 重复执行(多次 install)后的 cargo 配置文件。实际影响:TOML 节结构被破坏后,后续所有 cargo 调用均受影响。
environment.rs:318-350
replace-with
[net]
[source.mirror]
mutation 幂等:重复执行不改变配置语义;cargo 正常解析。
残缺尾块:裸 replace-with 落 [net] + 空 [source.mirror],cargo exit 101。探针复现,边界场景触发。源码定位:environment.rs:318-350。证据:探针实验(对照 A3/F/C2)。实测输出:
warning: unused config key `net.replace-with` in `…/testhome/.cargo/config.toml` ← 裸 replace-with 落 [net] 对照探针:cargo exit 101 "no source location specified"(空 [source.mirror] 表) 源码:environment.rs:323-327 existing.contains(line) 单行去重 → 部分行存在时整段追加残缺尾块 clean 文件(不含任何 fragment 行)场景不触发(exit 0)
各平台确认:绿区 Linux aarch64 复现(探针复现 + 源码定位,单区独有记录)。
问题概述
目录 mutation 追加逻辑按单行去重(
environment.rs:318-350),重复执行时追加残缺尾块:裸replace-with行落入[net]节、[source.mirror]节为空,cargo 解析失败 exit 101。首次出现:本版 1.0.3 新发现(绿区 Linux aarch64 独有记录,源码级定位)。受影响安装场景:目录 mutation 重复执行(多次 install)后的 cargo 配置文件。实际影响:TOML 节结构被破坏后,后续所有 cargo 调用均受影响。影响范围
[net]/[source.mirror]节结构)复现步骤
预期结果
mutation 幂等:重复执行不改变配置语义;cargo 正常解析。
实际结果
残缺尾块:裸 replace-with 落
[net]+ 空[source.mirror],cargo exit 101。探针复现,边界场景触发。源码定位:environment.rs:318-350。证据:探针实验(对照 A3/F/C2)。实测输出:各平台确认:绿区 Linux aarch64 复现(探针复现 + 源码定位,单区独有记录)。
运行环境与供应信息
安全、性能与恢复证据
附件与提交确认