From: "Benno Lossin" <lossin@kernel.org>
To: "Tamir Duberstein" <tamird@gmail.com>
Cc: "Gary Guo" <gary@garyguo.net>, "Miguel Ojeda" <ojeda@kernel.org>,
"Boqun Feng" <boqun.feng@gmail.com>,
"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
"Andreas Hindborg" <a.hindborg@kernel.org>,
"Alice Ryhl" <aliceryhl@google.com>,
"Trevor Gross" <tmgross@umich.edu>,
"Danilo Krummrich" <dakr@kernel.org>,
"Fiona Behrens" <me@kloenk.dev>,
"Christian Schrefl" <chrisi.schrefl@gmail.com>,
"Alban Kurti" <kurti@invicto.ai>,
linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org
Subject: Re: [PATCH v3 09/15] rust: pin-init: rewrite the initializer macros using `syn`
Date: Fri, 16 Jan 2026 10:28:51 +0100 [thread overview]
Message-ID: <DFPWOMZOX6CI.27JJBKSO6IONE@kernel.org> (raw)
In-Reply-To: <CAJ-ks9m-nsn5KTAvSJfu=1kOiKmoadC1X0=zp0GphkX8ZCF53w@mail.gmail.com>
On Fri Jan 16, 2026 at 1:19 AM CET, Tamir Duberstein wrote:
> On Thu, Jan 15, 2026 at 5:43 PM Benno Lossin <lossin@kernel.org> wrote:
>>
>> On Thu Jan 15, 2026 at 10:45 PM CET, Tamir Duberstein wrote:
>> > On Wed, Jan 14, 2026 at 1:20 PM Benno Lossin <lossin@kernel.org> wrote:
>> >>
>> >> Rewrite the initializer macros `[pin_]init!` using `syn`. No functional
>> >> changes intended aside from improved error messages on syntactic and
>> >> semantical errors. For example if one forgets to use `<-` with an
>> >> initializer (and instead uses `:`):
>> >>
>> >> <snip>
>> >>
>> >> Tested-by: Andreas Hindborg <a.hindborg@kernel.org>
>> >> Signed-off-by: Benno Lossin <lossin@kernel.org>
>> >> ---
>> >>
>> >> <snip>
>> >>
>> >> -#[cfg(kernel)]
>> >> -pub use ::macros::paste;
>> >> -#[cfg(not(kernel))]
>> >> -pub use ::paste::paste;
>> >
>> > Now that `cfg(kernel)` is gone, can we also remove it from `rust/Makefile`
>> > and `scripts/generate_rust_analyzer.py`? That is already done for
>> > pin-init in patch 3 of this series:
>> > https://lore.kernel.org/all/20260114181934.1782470-4-lossin@kernel.org/.
>>
>> I'm still using `cfg(kernel)` in `src/lib.rs` for linking to the std
>> Box and Arc types.
>
> Are you sure? I'm not seeing it. It looks like the crate is no_std
> unless the std feature is activated and no features are activated in
> the kernel.
Yes:
$ rg 'cfg.*kernel'
src/lib.rs
260:#![cfg_attr(not(kernel), doc = "[`Arc<T>`]: alloc::alloc::sync::Arc")]
261:#![cfg_attr(not(kernel), doc = "[`Box<T>`]: alloc::alloc::boxed::Box")]
921:#[cfg_attr(not(kernel), doc = "[`Arc<T>`]: alloc::alloc::sync::Arc")]
922:#[cfg_attr(not(kernel), doc = "[`Box<T>`]: alloc::alloc::boxed::Box")]
1020:#[cfg_attr(not(kernel), doc = "[`Arc<T>`]: alloc::alloc::sync::Arc")]
1021:#[cfg_attr(not(kernel), doc = "[`Box<T>`]: alloc::alloc::boxed::Box")]
>> Also I don't want to have to reintroduce all that infrastructure when I
>> inevitably have to add new kernel workarounds.
>
> Then why remove it for pin-init?
I don't understand, what is removed where? In patch 3 the `--cfg kernel`
is kept in all locations.
Cheers,
Benno
next prev parent reply other threads:[~2026-01-16 9:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-14 18:18 [PATCH v3 00/15] `syn` rewrite of pin-init Benno Lossin
2026-01-14 18:18 ` [PATCH v3 01/15] rust: pin-init: remove `try_` versions of the initializer macros Benno Lossin
2026-01-14 18:18 ` [PATCH v3 02/15] rust: pin-init: allow the crate to refer to itself as `pin-init` in doc tests Benno Lossin
2026-01-14 18:18 ` [PATCH v3 03/15] rust: pin-init: add `syn` dependency and remove `proc-macro[2]` and `quote` workarounds Benno Lossin
2026-01-14 18:18 ` [PATCH v3 04/15] rust: pin-init: internal: add utility API for syn error handling Benno Lossin
2026-01-14 18:26 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 05/15] rust: pin-init: rewrite `derive(Zeroable)` and `derive(MaybeZeroable)` using `syn` Benno Lossin
2026-01-14 18:29 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 06/15] rust: pin-init: rewrite the `#[pinned_drop]` attribute macro " Benno Lossin
2026-01-14 18:34 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 07/15] rust: pin-init: rewrite `#[pin_data]` " Benno Lossin
2026-01-14 18:47 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 08/15] rust: pin-init: add `?Sized` bounds to traits in `#[pin_data]` macro Benno Lossin
2026-01-14 18:47 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 09/15] rust: pin-init: rewrite the initializer macros using `syn` Benno Lossin
2026-01-14 18:51 ` Gary Guo
2026-01-15 21:45 ` Tamir Duberstein
2026-01-15 22:43 ` Benno Lossin
2026-01-16 0:19 ` Tamir Duberstein
2026-01-16 9:28 ` Benno Lossin [this message]
2026-01-16 15:39 ` Tamir Duberstein
2026-01-16 16:37 ` Benno Lossin
2026-01-14 18:18 ` [PATCH v3 10/15] rust: pin-init: add `#[default_error(<type>)]` attribute to initializer macros Benno Lossin
2026-01-14 18:53 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 11/15] rust: init: use `#[default_error(err)]` for the " Benno Lossin
2026-01-14 18:18 ` [PATCH v3 12/15] rust: pin-init: internal: init: add support for attributes on initializer fields Benno Lossin
2026-01-14 18:57 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 13/15] rust: pin-init: internal: init: add escape hatch for referencing initialized fields Benno Lossin
2026-01-14 18:58 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 14/15] rust: pin-init: internal: init: simplify Zeroable safety check Benno Lossin
2026-01-14 18:58 ` Gary Guo
2026-01-14 18:18 ` [PATCH v3 15/15] MAINTAINERS: add Gary Guo to pin-init Benno Lossin
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=DFPWOMZOX6CI.27JJBKSO6IONE@kernel.org \
--to=lossin@kernel.org \
--cc=a.hindborg@kernel.org \
--cc=aliceryhl@google.com \
--cc=bjorn3_gh@protonmail.com \
--cc=boqun.feng@gmail.com \
--cc=chrisi.schrefl@gmail.com \
--cc=dakr@kernel.org \
--cc=gary@garyguo.net \
--cc=kurti@invicto.ai \
--cc=linux-kernel@vger.kernel.org \
--cc=me@kloenk.dev \
--cc=ojeda@kernel.org \
--cc=rust-for-linux@vger.kernel.org \
--cc=tamird@gmail.com \
--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.