chore(agc): 给 AGC 壳加生产口径 warning 门禁(cfg_attr(not(test), deny(warnings)))

src/main.rs 顶部加 `#![cfg_attr(not(test), deny(warnings))]`,并留注释说明为何不用 `[lints]` 表:`--all-targets` 会把同一个 bin target 再编一次,harness 实例里 `#[cfg(not(test))] fn main()` 被排除、`generate_handler!`/`desktop::run()` 链不可达,产生一批属测试构建产物的假死告警(当前 339 条),若用 `[lints] warnings = deny` 会被 deny 而 CI 必红。

AGC 的 Cargo.toml 不加 `[lints]`(保持现状);server-rs workspace、4 个 exclude crate、desktop-shell 与三个 bridge 的 `[lints]` 写法不变。

门禁自证(生产可见处插入未使用变量):bin 口径失败并报 `error: unused variable: gate_selfcheck_unused_probe` + `= note: #[deny(unused_variables)] implied by #[deny(warnings)]`(RC=101);撤销后同命令转绿(RC=0,无 warning)。

带门禁的 `--all-targets` 仍 EXIT=0(test 实例 339 条不受影响)。
This commit is contained in:
2026-10-06 17:42:38 +08:00
parent 92ac352709
commit 9fbab1a92c
@@ -1,4 +1,9 @@
#![cfg_attr(all(not(dev), target_os = "windows"), windows_subsystem = "windows")]
// AGC 壳的 warning 门禁只作用于生产口径:`cfg(not(test))` 让 `cargo check`(不带 `--all-targets`)与发布构建
// 把 first-party warning 当错误,而 test harness 实例不受影响——同一个 bin target 在 `--all-targets` 下会被
// 编第二次,其中 `#[cfg(not(test))] fn main()` 被排除,`generate_handler!`/`desktop::run()` 链不可达,
// 会产生一批属测试构建产物的假死告警,不能按废弃生产代码处理。口径与基线见 dev 运维文档「Rust 编译告警门禁」。
#![cfg_attr(not(test), deny(warnings))]
#[cfg(test)]
#[path = "../build_support/godot_bundle.rs"]