mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: John Hubbard <jhubbard@nvidia.com>
To: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
Cc: "Alexandre Courbot" <acourbot@nvidia.com>,
	"Danilo Krummrich" <dakr@kernel.org>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Daniel Almeida" <daniel.almeida@collabora.com>,
	"Miguel Ojeda" <ojeda@kernel.org>,
	"Alex Gaynor" <alex.gaynor@gmail.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <lossin@kernel.org>,
	"Andreas Hindborg" <a.hindborg@kernel.org>,
	"Trevor Gross" <tmgross@umich.edu>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Viresh Kumar" <viresh.kumar@linaro.org>,
	"Will Deacon" <will@kernel.org>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Mark Rutland" <mark.rutland@arm.com>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org
Subject: Re: [PATCH v2 1/7] rust: build_assert: add instructions for use with function arguments
Date: Sun, 30 Nov 2025 20:36:23 -0800	[thread overview]
Message-ID: <ea455598-fc0e-4768-b540-5091f7ccd025@nvidia.com> (raw)
In-Reply-To: <CANiq72n0UkuAtW=2JZK9Y7TK4VO8rKsMSvpv52BsW5+C2z9Dew@mail.gmail.com>

On 11/30/25 7:44 PM, Miguel Ojeda wrote:
> On Mon, Dec 1, 2025 at 1:52 AM John Hubbard <jhubbard@nvidia.com> wrote:
>>
>> More precisely, it was already *hinted* to be inline.
> 
> By inline I mean it is marked `#[inline]`, which may or may not get
> inlined, but it also has other implications, e.g. codegen can get
> delayed even if there are no callers and is concrete.
> 
>> Then that is conceptually wrong, because it must be a runtime check.
> 
> No, it is not true it must be a runtime check -- it depends: you can
> use such a function in some cases just fine.
> 
> That is the point of `build_assert!`, after all.

This seems strange: something called build_assert!() should not be
put in places where it might not be possible to verify at build-time.
It's built right into the name.

> 
>> Sorry for the fussy detailed questioning here. I'm trying to bottom
>> out here because CLIPPY=1 is a very solid requirement before posting
>> patches.
> 
> No worries, but I don't follow what you mean here. `CLIPPY=1` is still
> required to be clean etc.
> 

CLIPPY=1 is effectively part of the developers' tool chain. It is also
one of the ways to break the build_assert!() call sites.

So now we have to go around and annotate the functions that *contain*
uses of build_assert!(). Otherwise we end up with an unreliable tool
chain for developers. This is not where we should want to be, in the
long run.

Is there proc macro magic we can come up with? Or rustc or clippy
changes? So that this is becomes a better foundation upon which to
build?

thanks,
-- 
John Hubbard


  reply	other threads:[~2025-12-01  4:36 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-28  2:11 [PATCH v2 0/7] rust: build_assert: document and fix " Alexandre Courbot
2025-11-28  2:11 ` [PATCH v2 1/7] rust: build_assert: add instructions for " Alexandre Courbot
2025-11-30 21:44   ` John Hubbard
2025-11-30 21:56     ` Miguel Ojeda
2025-11-30 22:00       ` John Hubbard
2025-11-30 22:42         ` Miguel Ojeda
2025-12-01  0:52           ` John Hubbard
2025-12-01  3:44             ` Miguel Ojeda
2025-12-01  4:36               ` John Hubbard [this message]
2025-12-01 16:43                 ` Miguel Ojeda
2025-12-01 19:31                   ` John Hubbard
2025-12-01 23:06                     ` Miguel Ojeda
2025-12-02  1:38                       ` John Hubbard
2025-12-01 19:53   ` Edwin Peer
2025-12-03  3:18     ` Alexandre Courbot
2025-11-28  2:11 ` [PATCH v2 2/7] rust: io: always inline functions using build_assert with arguments Alexandre Courbot
2025-12-01 20:06   ` Edwin Peer
2025-12-02 10:14     ` Alice Ryhl
2025-11-28  2:11 ` [PATCH v2 3/7] rust: cpufreq: " Alexandre Courbot
2025-11-28  6:12   ` Viresh Kumar
2025-11-28  9:32     ` Alice Ryhl
2025-11-28  9:55       ` Viresh Kumar
2025-11-28  2:11 ` [PATCH v2 4/7] rust: bits: " Alexandre Courbot
2025-11-28  2:11 ` [PATCH v2 5/7] rust: sync: refcount: " Alexandre Courbot
2025-11-28  2:11 ` [PATCH v2 6/7] rust: irq: " Alexandre Courbot
2025-11-28  2:11 ` [PATCH v2 7/7] rust: num: bounded: add missing comment for always inlined function Alexandre Courbot
2025-11-28 14:02 ` [PATCH v2 0/7] rust: build_assert: document and fix use with function arguments Daniel Almeida
2025-11-30 16:09 ` Daniel Almeida
2025-11-30 17:48   ` Miguel Ojeda
2025-12-03  3:19     ` Alexandre Courbot
2025-12-03 18:37       ` Miguel Ojeda

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=ea455598-fc0e-4768-b540-5091f7ccd025@nvidia.com \
    --to=jhubbard@nvidia.com \
    --cc=a.hindborg@kernel.org \
    --cc=acourbot@nvidia.com \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=dakr@kernel.org \
    --cc=daniel.almeida@collabora.com \
    --cc=gary@garyguo.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=lossin@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=miguel.ojeda.sandonis@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rafael@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    --cc=viresh.kumar@linaro.org \
    --cc=will@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®