Miguel Ojeda
unread,Jun 29, 2026, 3:07:49 PM (5 days ago) Jun 29Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Nika Krasnova, Miguel Ojeda, Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein, Alexandre Courbot, Onur Özkan, Viresh Kumar, Yury Norov, Lorenzo Stoakes, Brendan Higgins, David Gow, Rae Moar, rust-fo...@vger.kernel.org, linux-...@vger.kernel.org, kuni...@googlegroups.com, linux-k...@vger.kernel.org
On Mon, Jun 29, 2026 at 5:34 PM Nika Krasnova <ni...@nikableh.moe> wrote:
>
> - 1.94.1: core::cfg_select present behind #![feature(cfg_select)], with
> the final builtin behavior (single-brace expression position works).
The tracking issue says the latest change was in Rust 1.91.0. Did it
not work there? Were there changes after that?
> Does that work for you, or would you rather take the gate and drop
> expression-operand support?
Hmm... The end goal would to use `core::cfg_select`, so in general it
is a good idea to use the "real one" as soon as possible. In addition,
we can always wait for any case that doesn't work in the fallback (as
long as the behavior is the same for the cases that do work).
Therefore, we could limit ourselves to what would work today with the
fallback. If I understand you correctly, you are saying that even with
the conversion here, we wouldn't even need the expression case, no?
What is annoying about that is that there is definitely a risk of
someone using one of the cases that don't work on the fallback but
never actually testing on the minimum version -- even if we don't have
those today, someone may add it. And while it is "just" a compile
error that we would likely catch early in linux-next (like similar
things we need to handle), it is still painful.
So, yeah, I appreciate the advantage of having just a single compile
path, and if we can make it so that people cannot fall into cases that
would require extra cleanups/migration later on when we move to
`core`'s (even if `core` supports those), then that should be good,
i.e. if we want to go with this one in all versions, then we should
make sure we only allow that subset that cleanly maps to the future.
Now, to be honest, the easiest is to just wait a year and then start
using `core`'s directly... i.e. it is not like we are in a rush to
start using it anyway...
Cheers,
Miguel