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