Skip to content

Commit e10ddb9

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 6adfc70 commit e10ddb9

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
@@ -219,17 +219,17 @@ pub trait InPlaceInit<T>: Sized {
219219
/// [`Error`]: crate::error::Error
220220
#[macro_export]
221221
macro_rules! try_init {
222-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
222+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
223223
$($fields:tt)*
224224
}) => {
225-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
225+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
226226
$($fields)*
227227
}? $crate::error::Error)
228228
};
229-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
229+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
230230
$($fields:tt)*
231231
}? $err:ty) => {
232-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
232+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
233233
$($fields)*
234234
}? $err)
235235
};
@@ -279,17 +279,17 @@ macro_rules! try_init {
279279
/// [`Error`]: crate::error::Error
280280
#[macro_export]
281281
macro_rules! try_pin_init {
282-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
282+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
283283
$($fields:tt)*
284284
}) => {
285-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
285+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
286286
$($fields)*
287287
}? $crate::error::Error)
288288
};
289-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
289+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
290290
$($fields:tt)*
291291
}? $err:ty) => {
292-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
292+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
293293
$($fields)*
294294
}? $err)
295295
};

0 commit comments

Comments
 (0)