From: Boqun Feng <boqun.feng@gmail.com>
To: Daniel Almeida <daniel.almeida@collabora.com>
Cc: "Alexandre Courbot" <acourbot@nvidia.com>,
"Miguel Ojeda" <ojeda@kernel.org>,
"Alex Gaynor" <alex.gaynor@gmail.com>,
"Gary Guo" <gary@garyguo.net>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Benno Lossin" <benno.lossin@proton.me>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v6] rust: kernel: add support for bits/genmask macros
Date: Mon, 16 Jun 2025 08:02:15 -0700 [thread overview]
Message-ID: <aFAx997imisc3HGk@Mac.home> (raw)
In-Reply-To: <D12DC02A-E1EE-47F1-86AF-C25C492FA3D4@collabora.com>
On Mon, Jun 16, 2025 at 11:45:21AM -0300, Daniel Almeida wrote:
>
>
> > On 16 Jun 2025, at 11:42, Daniel Almeida <daniel.almeida@collabora.com> wrote:
> >
> > Hi Boqun,
> >
> >>
> >> We should tell/educate people to do the right thing, if a..b is not
> >> inclusive in Rust, then we should treat them as non-inclusive in Rust
> >> kernel code. Otherwise you create confusion for no reason. My assumption
> >> is that most people will ask "what's the right way to do this" first
> >> instead of replicating the old way.
> >>
> >> Regards,
> >> Boqun
> >>
> >
> > This is just my opinion, of course:
> >
> > I _hardly_ believe this will be the case. When people see genmask and two
> > numbers, they expect the range to be inclusive, full stop (at least IMHO). That's how it has
> > worked for decades, so it´s only natural to expect this behavior to transfer over.
> >
Well, there are always users who don't read the manual, but we shouldn't
encourage that ;-) Technically kernel internal API is unstable, so use
before fully understanding the semantics is a user risk.
And if we provided non-inclusive range as inclusive, there would be
complains (probably from the same people) that:
for_each_bit(genmask(a..b), |i| { do_sth(i); });
doesn't behave the same as:
for i in a..b { do_sth(i); }
And we cannot always make them happy ;-)
> > However, I do understand and agree with your point, and I will change the
> > implementation here to comply. Perhaps we can use some markdown to alert users?
> >
> > - Daniel
>
> Or better yet, perhaps we should only support a..=b.
>
Yes, given the const function factor for now, and I think eventually
most people will get themselves more familiar with Rust syntax.
Regards,
Boqun
> - Daniel
next prev parent reply other threads:[~2025-06-16 15:02 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-10 14:14 [PATCH v6] rust: kernel: add support for bits/genmask macros Daniel Almeida
2025-06-10 18:08 ` Miguel Ojeda
2025-06-10 20:52 ` Daniel Almeida
2025-06-14 13:38 ` Alexandre Courbot
2025-06-14 15:06 ` Boqun Feng
2025-06-14 15:56 ` Boqun Feng
2025-06-14 16:05 ` Boqun Feng
2025-06-18 20:58 ` Joel Fernandes
2025-06-20 13:48 ` Daniel Almeida
2025-06-20 20:47 ` Joel Fernandes
2025-06-15 12:59 ` Alexandre Courbot
2025-06-16 14:14 ` Daniel Almeida
2025-06-16 14:29 ` Boqun Feng
2025-06-16 14:42 ` Daniel Almeida
2025-06-16 14:45 ` Daniel Almeida
2025-06-16 14:52 ` Alexandre Courbot
2025-06-16 14:56 ` Daniel Almeida
2025-06-16 15:02 ` Alexandre Courbot
2025-06-16 15:02 ` Boqun Feng [this message]
2025-06-16 15:08 ` Alexandre Courbot
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=aFAx997imisc3HGk@Mac.home \
--to=boqun.feng@gmail.com \
--cc=a.hindborg@kernel.org \
--cc=acourbot@nvidia.com \
--cc=alex.gaynor@gmail.com \
--cc=aliceryhl@google.com \
--cc=benno.lossin@proton.me \
--cc=bjorn3_gh@protonmail.com \
--cc=dakr@kernel.org \
--cc=daniel.almeida@collabora.com \
--cc=gary@garyguo.net \
--cc=linux-kernel@vger.kernel.org \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tmgross@umich.edu \
/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.