On Tue, Jul 15, 2025 at 2:07 AM Michael S. Tsirkin <m...@redhat.com> wrote:
>
> We are going to be adding more parameters, and this makes
> rust unhappy:
>     Functions with lots of parameters are considered bad style and reduce
>     readability (“what does the 5th parameter mean?”). Consider grouping
>     some parameters into a new type.
>
> Specifically:
>
> error: this function has too many arguments (8/7)
>     --> 
> /builds/mstredhat/qemu/build/rust/qemu-api/rust-qemu-api-tests.p/structured/bindings.inc.rs:3840:5
>      |
> 3840 | /     pub fn new_bitfield_1(
> 3841 | |         secure: std::os::raw::c_uint,
> 3842 | |         space: std::os::raw::c_uint,
> 3843 | |         user: std::os::raw::c_uint,
> ...    |
> 3848 | |         address_type: std::os::raw::c_uint,
> 3849 | |     ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
>      | |____________________________________________^
>      |
>      = help: for further information visit 
> https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments
>      = note: `-D clippy::too-many-arguments` implied by `-D warnings`
>      = help: to override `-D warnings` add 
> `#[allow(clippy::too_many_arguments)]`
>
> I didn't want to disable this globally, so I just shut it off for this
> file.
>
> Message-Id: 
> <a4c65fb2b735740bda2874c86de31d29a5ae24d2.1752530758.git....@redhat.com>
> Signed-off-by: Michael S. Tsirkin <m...@redhat.com>
> ---
>  rust/qemu-api/src/bindings.rs | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/rust/qemu-api/src/bindings.rs b/rust/qemu-api/src/bindings.rs
> index 057de4b646..b4692f9b4b 100644
> --- a/rust/qemu-api/src/bindings.rs
> +++ b/rust/qemu-api/src/bindings.rs
> @@ -18,11 +18,15 @@
>
>  //! `bindgen`-generated declarations.
>
> -#[cfg(MESON)]
> -include!("bindings.inc.rs");
> +#[allow(clippy::too_many_arguments)]
> +mod gen {
> +    #[cfg(MESON)]
> +    include!("bindings.inc.rs");
>
> -#[cfg(not(MESON))]
> -include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs"));
> +    #[cfg(not(MESON))]
> +    include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs"));
> +}
> +pub use gen::*;
>
>  // SAFETY: these are implemented in C; the bindings need to assert that the
>  // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`.
> --
> MST
>

Hi Michael,

This patch does not seem to have been reviewed.

The clippy allows are in the top of the file, not above the
`include!`. This should be a one line change and the `mod gen` wrap is
unnecessary.
-- 
Manos Pitsidianakis
Emulation and Virtualization Engineer at Linaro Ltd

Reply via email to