[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <DFLCXYSU8BET.13MZTJP38XZV0@garyguo.net>
Date: Sun, 11 Jan 2026 01:10:00 +0000
From: "Gary Guo" <gary@...yguo.net>
To: "Benno Lossin" <lossin@...nel.org>, "Gary Guo" <gary@...yguo.net>,
"Miguel Ojeda" <ojeda@...nel.org>, "Boqun Feng" <boqun.feng@...il.com>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>, "Andreas
Hindborg" <a.hindborg@...nel.org>, "Alice Ryhl" <aliceryhl@...gle.com>,
"Trevor Gross" <tmgross@...ch.edu>, "Danilo Krummrich" <dakr@...nel.org>,
"Fiona Behrens" <me@...enk.dev>, "Christian Schrefl"
<chrisi.schrefl@...il.com>, "Alban Kurti" <kurti@...icto.ai>
Cc: <linux-kernel@...r.kernel.org>, <rust-for-linux@...r.kernel.org>
Subject: Re: [PATCH 08/12] rust: pin-init: rewrite the initializer macros
using `syn`
On Sat Jan 10, 2026 at 11:18 PM GMT, Benno Lossin wrote:
> On Sat Jan 10, 2026 at 8:20 PM CET, Gary Guo wrote:
>> On Sat Jan 10, 2026 at 6:14 PM GMT, Benno Lossin wrote:
>>> On Fri Jan 9, 2026 at 2:45 PM CET, Gary Guo wrote:
>>>> On Thu Jan 8, 2026 at 1:50 PM GMT, Benno Lossin wrote:
>>>>> + quote! {
>>>>> + {
>>>>> + #value_prep
>>>>> + // SAFETY: TODO
>>>>> + unsafe { #write(::core::ptr::addr_of_mut!((*#slot).#ident), #value_ident) };
>>>>
>>>> This should be `&raw mut` now?
>>>
>>> Yes, but that involves adding workarounds for 1.81 and earlier. I'll
>>> leave it for a future series.
>>
>> You can just enable `raw_ref_op` feature globally. We've already enabled it for
>> the kernel crate.
>
> It must be possible to compile the pin-init crate using a stable
> compiler.
pin-init crate just need to use the feature without any source code change.
Enabling can be done from Makefile.
In fact, in e1dfaa33fd2d (rust: enable `raw_ref_op` feature) it has already been
globally enabled for driver crates. You just might need to explicitly enable it
for pin-init in rust/Makefile.
> Enabling an already stable feature still causes a compiler
> error (last time I checked). So we unfortunately can't enable it without
> workarounds.
stable_features is a lint that is globally allowed in our Makefile.
Best,
Gary
Powered by blists - more mailing lists