rust/kernel/init.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
From: Janne Grunau <j@jannau.net>
The match pattern for a optional trailing comma in the list of generics
is erroneously repeated in the code block resulting in following error:
| error: attempted to repeat an expression containing no syntax variables matched as repeating at this depth
| --> rust/kernel/init.rs:301:73
| |
| 301 | ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
| | ^^^
Remove "$(,)?" from all code blocks in the try_init! and try_pin_init!
definitions.
Fixes: 578eb8b6db13 ("rust: pin-init: move the default error behavior of `try_[pin_]init`")
Signed-off-by: Janne Grunau <j@jannau.net>
---
rust/kernel/init.rs | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs
index 8d228c23795445e379b40f662e1c355a934cbd13..21ef202ab0dbfa3cb28cd20d29d9bfdba4f1f97f 100644
--- a/rust/kernel/init.rs
+++ b/rust/kernel/init.rs
@@ -231,14 +231,14 @@ macro_rules! try_init {
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
$($fields:tt)*
}) => {
- ::pin_init::try_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
+ ::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
$($fields)*
}? $crate::error::Error)
};
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
$($fields:tt)*
}? $err:ty) => {
- ::pin_init::try_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
+ ::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
$($fields)*
}? $err)
};
@@ -291,14 +291,14 @@ macro_rules! try_pin_init {
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
$($fields:tt)*
}) => {
- ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
+ ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
$($fields)*
}? $crate::error::Error)
};
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
$($fields:tt)*
}? $err:ty) => {
- ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
+ ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
$($fields)*
}? $err)
};
---
base-commit: 19272b37aa4f83ca52bdf9c16d5d81bdd1354494
change-id: 20250628-rust_init_trailing_comma-e4f1c9855462
Best regards,
--
Janne Grunau <j@jannau.net>
On Sat, Jun 28, 2025 at 1:36 PM Janne Grunau via B4 Relay
<devnull+j.jannau.net@kernel.org> wrote:
>
> From: Janne Grunau <j@jannau.net>
>
> The match pattern for a optional trailing comma in the list of generics
> is erroneously repeated in the code block resulting in following error:
>
> | error: attempted to repeat an expression containing no syntax variables matched as repeating at this depth
> | --> rust/kernel/init.rs:301:73
> | |
> | 301 | ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
> | | ^^^
>
> Remove "$(,)?" from all code blocks in the try_init! and try_pin_init!
> definitions.
>
> Fixes: 578eb8b6db13 ("rust: pin-init: move the default error behavior of `try_[pin_]init`")
> Signed-off-by: Janne Grunau <j@jannau.net>
Applied to `rust-fixes` -- thanks everyone!
Cc: stable@vger.kernel.org
Cheers,
Miguel
On Sat Jun 28, 2025 at 1:36 PM CEST, Janne Grunau via B4 Relay wrote:
> From: Janne Grunau <j@jannau.net>
>
> The match pattern for a optional trailing comma in the list of generics
> is erroneously repeated in the code block resulting in following error:
>
> | error: attempted to repeat an expression containing no syntax variables matched as repeating at this depth
> | --> rust/kernel/init.rs:301:73
> | |
> | 301 | ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
> | | ^^^
>
> Remove "$(,)?" from all code blocks in the try_init! and try_pin_init!
> definitions.
Oops, that's a good catch! Seems like nobody used the generics before...
Do you need this to go in as a fix into v6.16, or is it fine if I pick
it for v6.17, since it's only a build failure?
@Miguel any opinion?
---
Cheers,
Benno
> Fixes: 578eb8b6db13 ("rust: pin-init: move the default error behavior of `try_[pin_]init`")
> Signed-off-by: Janne Grunau <j@jannau.net>
> ---
> rust/kernel/init.rs | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
On Sat, Jun 28, 2025 at 02:29:11PM +0200, Benno Lossin wrote:
> On Sat Jun 28, 2025 at 1:36 PM CEST, Janne Grunau via B4 Relay wrote:
> > From: Janne Grunau <j@jannau.net>
> >
> > The match pattern for a optional trailing comma in the list of generics
> > is erroneously repeated in the code block resulting in following error:
> >
> > | error: attempted to repeat an expression containing no syntax variables matched as repeating at this depth
> > | --> rust/kernel/init.rs:301:73
> > | |
> > | 301 | ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
> > | | ^^^
> >
> > Remove "$(,)?" from all code blocks in the try_init! and try_pin_init!
> > definitions.
>
> Oops, that's a good catch! Seems like nobody used the generics before...
Nobody upstream, it's used downstream in the asahi tree.
> Do you need this to go in as a fix into v6.16, or is it fine if I pick
> it for v6.17, since it's only a build failure?
I don't need it since I have to carry it anyway in the downstream tree
but I think it would be good idea to fix it in v6.16.
Since it's in the kernel crate (the macros in pin-init are fine) I'd
propose that Miguel picks it with other rust fixes.
Janne
On Sat Jun 28, 2025 at 3:25 PM CEST, Janne Grunau wrote:
> On Sat, Jun 28, 2025 at 02:29:11PM +0200, Benno Lossin wrote:
>> On Sat Jun 28, 2025 at 1:36 PM CEST, Janne Grunau via B4 Relay wrote:
>> > From: Janne Grunau <j@jannau.net>
>> >
>> > The match pattern for a optional trailing comma in the list of generics
>> > is erroneously repeated in the code block resulting in following error:
>> >
>> > | error: attempted to repeat an expression containing no syntax variables matched as repeating at this depth
>> > | --> rust/kernel/init.rs:301:73
>> > | |
>> > | 301 | ::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),* $(,)?>)? {
>> > | | ^^^
>> >
>> > Remove "$(,)?" from all code blocks in the try_init! and try_pin_init!
>> > definitions.
>>
>> Oops, that's a good catch! Seems like nobody used the generics before...
>
> Nobody upstream, it's used downstream in the asahi tree.
>
>> Do you need this to go in as a fix into v6.16, or is it fine if I pick
>> it for v6.17, since it's only a build failure?
>
> I don't need it since I have to carry it anyway in the downstream tree
> but I think it would be good idea to fix it in v6.16.
> Since it's in the kernel crate (the macros in pin-init are fine) I'd
> propose that Miguel picks it with other rust fixes.
Sounds good!
Reviewed-by: Benno Lossin <lossin@kernel.org>
---
Cheers,
Benno
On Sat, Jun 28, 2025 at 2:29 PM Benno Lossin <lossin@kernel.org> wrote: > > Oops, that's a good catch! Seems like nobody used the generics before... > > Do you need this to go in as a fix into v6.16, or is it fine if I pick > it for v6.17, since it's only a build failure? > > @Miguel any opinion? If it is a fix, then we can just pick it. I have to send others anyway, so I will be doing a fixes PR in a week or so. Cheers, Miguel
© 2016 - 2026 Red Hat, Inc.