On Tue, Jul 15, 2025 at 02:30:40AM +0300, Manos Pitsidianakis wrote:
> 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

Yea sorry - I really wanted the API changes in and I tried to be
as conservative as possible.

I'll send a revert and the one-liner on top, is that
ok with you?

-- 
MST


Reply via email to