From: "Erik Schilling" <erik.schilling@linaro.org>
To: "Kent Gibson" <warthog618@gmail.com>
Cc: <linux-gpio@vger.kernel.org>, <brgl@bgdev.pl>
Subject: Re: [libgpiod][PATCH] bindings: rust: fix clippy lint warnings
Date: Mon, 19 Jun 2023 09:36:48 +0200 [thread overview]
Message-ID: <CTGGDNWWBD6E.FLAMJGXFKF3S@fedora> (raw)
In-Reply-To: <ZIl6X8YAUHS/n5s8@sol>
Sorry, got distracted while sorting out the MSRV mess that I sent a
separate patch for [4].
On Wed Jun 14, 2023 at 10:29 AM CEST, Kent Gibson wrote:
> On Wed, Jun 14, 2023 at 10:14:08AM +0200, Erik Schilling wrote:
> > On Mon Jun 12, 2023 at 5:40 PM CEST, Kent Gibson wrote:
> > > clippy from Rust 1.70 reports a host of warnings due to casting and type
> > > conversions across the FFI interface to libgpiod.
> > > These casts and conversions are required to support old versions of Rust
> > > that do not support recent Rust FFI extensions.
> >
> > Could you elaborate which extensions are relevant here? Would it be
> > realistic to just update the minimum Rust version instead of needing
> > to include these suppression directives?
> >
>
> Types were added in core::ffi[1] in 1.64 for just this purpose.
> e.g. c_uint[2]
> Though c_size_t[3] still remains in Experimental.
>
> [1] https://doc.rust-lang.org/stable/core/ffi/index.html
> [2] https://doc.rust-lang.org/stable/core/ffi/type.c_uint.html
> [3] https://doc.rust-lang.org/stable/core/ffi/type.c_size_t.html
I do not think that this is the reason why we need the casts...
bindgen generates bindings using std::os::raw::c_uint [5] which is
stable since 1.1.0 (and was previously defined as u32 [6]). I think we
can just drop the casts entirely? I can run cargo clippy --fix on latest
stable (1.70.0), then go back to 1.60 and everything is still building.
I am having trouble to execute the tests in that version due to some
linkage errors, but that should not be the fault of the casts.
Did I got this correct or am I misunderstanding your reasoning?
Note: One needs to fix a bug that cargo clippy --fix introduces since
it replaces nth(0) with next() in event_buffers.rs and introduces a
unconditional recursion.
[4] https://lore.kernel.org/r/20230616-msrv-v1-1-1f0ca25b8222@linaro.org/
[5] https://doc.rust-lang.org/stable/std/os/raw/type.c_uint.html
[6] https://doc.rust-lang.org/1.60.0/std/os/raw/type.c_uint.html
- Erik
next prev parent reply other threads:[~2023-06-19 7:36 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-12 15:40 [libgpiod][PATCH] bindings: rust: fix clippy lint warnings Kent Gibson
2023-06-14 8:14 ` Erik Schilling
2023-06-14 8:29 ` Kent Gibson
2023-06-14 8:40 ` Erik Schilling
2023-06-14 9:06 ` Kent Gibson
2023-06-14 9:16 ` Erik Schilling
2023-06-19 7:36 ` Erik Schilling [this message]
2023-06-19 7:49 ` Erik Schilling
2023-06-19 7:57 ` Kent Gibson
2023-06-19 8:13 ` Erik Schilling
2023-06-19 8:33 ` Kent Gibson
2023-06-19 8:50 ` Viresh Kumar
2023-06-19 8:59 ` Erik Schilling
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CTGGDNWWBD6E.FLAMJGXFKF3S@fedora \
--to=erik.schilling@linaro.org \
--cc=brgl@bgdev.pl \
--cc=linux-gpio@vger.kernel.org \
--cc=warthog618@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.