All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Benno Lossin" <lossin@kernel.org>
To: "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>
Cc: <rust-for-linux@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 11/12] rust: pin-init: internal: init: add support for attributes on initializer fields
Date: Fri, 09 Jan 2026 19:02:59 +0100	[thread overview]
Message-ID: <DFK98H2AC9OD.3TKEHOTK5CKE1@kernel.org> (raw)
In-Reply-To: <DFK3Z9K6SMVA.1XCWR3Y3WK7OI@garyguo.net>

On Fri Jan 9, 2026 at 2:55 PM CET, Gary Guo wrote:
> On Thu Jan 8, 2026 at 1:50 PM GMT, Benno Lossin wrote:
>> -        if let Some(ident) = field.ident() {
>> +        if let Some(ident) = kind.ident() {
>>              // `mixed_site` ensures that the guard is not accessible to the user-controlled code.
>>              let guard = format_ident!("__{ident}_guard", span = Span::mixed_site());
>> -            guards.push(guard.clone());
>>              res.extend(quote! {
>> +                #(#attrs)*
>>                  // Create the drop guard:
>>                  //
>>                  // We rely on macro hygiene to make it impossible for users to access this local
>> @@ -316,13 +332,18 @@ fn init_fields(
>>                      )
>>                  };
>>              });
>> +            guards.push(guard);
>> +            guard_attrs.push(attrs);
>
> I think guard_attrs should just get the cfg ones, not including lint levels.
> Otherwise, `#[expect]` would be broken?

Oh yeah that is probably right. I do not yet have extensive attribute
tests due to lack of time.

Do you also think that only cfg ones should be included in the
`#(#attrs)*` in the `quote!` above?

Cheers,
Benno

  reply	other threads:[~2026-01-09 18:03 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-08 13:50 [PATCH 00/13] `syn` rewrite of pin-init Benno Lossin
2026-01-08 13:50 ` [PATCH 01/12] rust: pin-init: remove `try_` versions of the initializer macros Benno Lossin
2026-01-08 13:50 ` [PATCH 02/12] rust: pin-init: allow the crate to refer to itself as `pin-init` in doc tests Benno Lossin
2026-01-08 13:50 ` [PATCH 03/12] rust: pin-init: add `syn` dependency and remove `proc-macro[2]` and `quote` workarounds Benno Lossin
2026-01-08 13:50 ` [PATCH 04/12] rust: pin-init: rewrite `derive(Zeroable)` and `derive(MaybeZeroable)` using `syn` Benno Lossin
2026-01-09 12:02   ` Gary Guo
2026-01-08 13:50 ` [PATCH 05/12] rust: pin-init: rewrite the `#[pinned_drop]` attribute macro " Benno Lossin
2026-01-09 12:12   ` Gary Guo
2026-01-09 15:34     ` Benno Lossin
2026-01-09 16:42       ` Gary Guo
2026-01-08 13:50 ` [PATCH 06/12] rust: pin-init: rewrite `#[pin_data]` " Benno Lossin
2026-01-09  7:45   ` kernel test robot
2026-01-09 12:47   ` Gary Guo
2026-01-09 16:39     ` Benno Lossin
2026-01-09 16:46       ` Gary Guo
2026-01-10 16:41         ` Benno Lossin
2026-01-10 19:18           ` Gary Guo
2026-01-08 13:50 ` [PATCH 07/12] rust: pin-init: add `?Sized` bounds to traits in `#[pin_data]` macro Benno Lossin
2026-01-08 13:50 ` [PATCH 08/12] rust: pin-init: rewrite the initializer macros using `syn` Benno Lossin
2026-01-09  8:44   ` kernel test robot
2026-01-09 13:45   ` Gary Guo
2026-01-09 17:24     ` Benno Lossin
2026-01-10 16:21       ` Benno Lossin
2026-01-10 18:14     ` Benno Lossin
2026-01-10 19:20       ` Gary Guo
2026-01-10 23:18         ` Benno Lossin
2026-01-11  1:10           ` Gary Guo
2026-01-11 10:04             ` Benno Lossin
2026-01-08 13:50 ` [PATCH 09/12] rust: pin-init: add `#[default_error(<type>)]` attribute to initializer macros Benno Lossin
2026-01-09 13:52   ` Gary Guo
2026-01-08 13:50 ` [PATCH 10/12] rust: init: use `#[default_error(err)]` for the " Benno Lossin
2026-01-08 13:50 ` [PATCH 11/12] rust: pin-init: internal: init: add support for attributes on initializer fields Benno Lossin
2026-01-09 13:55   ` Gary Guo
2026-01-09 18:02     ` Benno Lossin [this message]
2026-01-09 21:16       ` Gary Guo
2026-01-08 13:50 ` [PATCH 12/12] rust: pin-init: internal: init: add escape hatch for referencing initialized fields Benno Lossin
2026-01-09  9:44   ` kernel test robot
2026-01-09 13:58   ` Gary Guo
2026-01-09 18:04     ` Benno Lossin
2026-01-08 13:50 ` [PATCH 13/13] 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=DFK98H2AC9OD.3TKEHOTK5CKE1@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=dakr@kernel.org \
    --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.