Skip to content

Commit b663117

Browse files
hoshinolinajannau
authored andcommitted
rust: kernel: init: Support type paths in try_init!() and try_pin_init!()
This makes directly initializing structures with a type name that isn't in the current scope work properly. Signed-off-by: Asahi Lina <lina@asahilina.net> Signed-off-by: Janne Grunau <j@jannau.net>
1 parent a504db7 commit b663117

1 file changed

Lines changed: 8 additions & 8 deletions

File tree

rust/kernel/init.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -228,17 +228,17 @@ pub trait InPlaceInit<T>: Sized {
228228
/// [`Error`]: crate::error::Error
229229
#[macro_export]
230230
macro_rules! try_init {
231-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
231+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
232232
$($fields:tt)*
233233
}) => {
234-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
234+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
235235
$($fields)*
236236
}? $crate::error::Error)
237237
};
238-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
238+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
239239
$($fields:tt)*
240240
}? $err:ty) => {
241-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
241+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
242242
$($fields)*
243243
}? $err)
244244
};
@@ -288,17 +288,17 @@ macro_rules! try_init {
288288
/// [`Error`]: crate::error::Error
289289
#[macro_export]
290290
macro_rules! try_pin_init {
291-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
291+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
292292
$($fields:tt)*
293293
}) => {
294-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
294+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
295295
$($fields)*
296296
}? $crate::error::Error)
297297
};
298-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
298+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
299299
$($fields:tt)*
300300
}? $err:ty) => {
301-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
301+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
302302
$($fields)*
303303
}? $err)
304304
};

0 commit comments

Comments
 (0)