Re: [PATCH 03/13] rust: allow `dead_code` for never constructed bindings

Björn Roy Baron
2024-07-01T20:06:44Z

On Monday, July 1st, 2024 at 20:36, Miguel Ojeda <ojeda@kernel.org> wrote:

> Starting with the upcoming Rust 1.80.0 (since upstream commit 35130d7233e9
> ("Detect pub structs never constructed and unused associated constants
> in traits")), the `dead_code` pass detects more cases, which triggers
> in the `bindings` crate:
>
> warning: struct `boot_params` is never constructed
> --> rust/bindings/bindings_generated.rs:10684:12
> |
> 10684 | pub struct boot_params {
> | ^^^^^^^^^^^
> |
> = note: `#[warn(dead_code)]` on by default
>
> As well as in the `uapi` one:
>
> warning: struct `boot_params` is never constructed
> --> rust/uapi/uapi_generated.rs:10392:12
> |
> 10392 | pub struct boot_params {
> | ^^^^^^^^^^^
> |
> = note: `#[warn(dead_code)]` on by default
>
> These are all expected, since we do not use all the structs in the
> bindings that `bindgen` generates from the C headers.
>
> Therefore, allow them.
>
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>

Reviewed-by: Björn Roy Baron <bjorn3_gh@protonmail.com>

> ---
> rust/bindings/lib.rs | 1 +
> rust/uapi/lib.rs | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/rust/bindings/lib.rs b/rust/bindings/lib.rs
> index 40ddaee50d8b..93a1a3fc97bc 100644
> --- a/rust/bindings/lib.rs
> +++ b/rust/bindings/lib.rs
> @@ -24,6 +24,7 @@
> unsafe_op_in_unsafe_fn
> )]
>
> +#[allow(dead_code)]
> mod bindings_raw {
> // Use glob import here to expose all helpers.
> // Symbols defined within the module will take precedence to the glob import.
> diff --git a/rust/uapi/lib.rs b/rust/uapi/lib.rs
> index 0caad902ba40..80a00260e3e7 100644
> --- a/rust/uapi/lib.rs
> +++ b/rust/uapi/lib.rs
> @@ -14,6 +14,7 @@
> #![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
> #![allow(
> clippy::all,
> + dead_code,
> missing_docs,
> non_camel_case_types,
> non_upper_case_globals,
> --
> 2.45.2