Pre-RFC: Deprecation and separation of the dead_code lint
Rust Internals [Unofficial]
March 4, 2026
Maybe instead of replacing it with unused_items, replacing it with unused_api that acts identically to it does now would make more sense. As for transitivity, anything marked with an #[allow/expect(unused(_<thing>))] would be considered used in that context, as I believe it behaves now but will look into for things like imports. I'm going to add to the questions section whether the replacement should be called unused_items or unused_api and whether macros and/or imports should be included.
Discussion in the ATmosphere