Rust 的「死代码检测」(dead-code lint):
编译器发现某些 字段、变量、函数 在 当前 crate 内从未被读取/使用,于是发出 dead_code
或 unused
警告,提醒开发者“它们可能是多余的”。
为什么加下划线 _
能消除警告?
Rust 的 lint 规则约定:
-
只要 标识符(变量、字段、函数参数) 以
_
开头,编译器就认为 “这是故意不用的”,于是 不再报dead_code
/unused
警告。 -
这只是 约定俗成的命名习惯,并非语法要求。
各警告对应场景
警告行 | 字段/变量 | 未使用原因 | 消除方式 |
---|---|---|---|
reason | 只在构造 Signal 时写入,后续没读取 | 改名为 _reason | |
prev_seq_id , seq_id | 反序列化后没有代码去读取 | 改名为 _prev_seq_id , _seq_id | |
key , passphrase | 仅在 new() 里赋值,后续没读取 | 改名为 _key , _passphrase |
小结
-
警告无害:不影响功能,只是提示。
-
加
_
是官方推荐的“我知道它没用,但先留着”的写法。 -
保留原名也可:如果你后续会用到这些字段,直接保持原名即可。