Skip to content

Commit 149ba7f

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 1c8519c commit 149ba7f

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
@@ -220,17 +220,17 @@ pub trait InPlaceInit<T>: Sized {
220220
/// [`Error`]: crate::error::Error
221221
#[macro_export]
222222
macro_rules! try_init {
223-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
223+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
224224
$($fields:tt)*
225225
}) => {
226-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
226+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
227227
$($fields)*
228228
}? $crate::error::Error)
229229
};
230-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
230+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
231231
$($fields:tt)*
232232
}? $err:ty) => {
233-
::pin_init::try_init!($(&$this in)? $t $(::<$($generics),*>)? {
233+
::pin_init::try_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
234234
$($fields)*
235235
}? $err)
236236
};
@@ -280,17 +280,17 @@ macro_rules! try_init {
280280
/// [`Error`]: crate::error::Error
281281
#[macro_export]
282282
macro_rules! try_pin_init {
283-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
283+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
284284
$($fields:tt)*
285285
}) => {
286-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
286+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
287287
$($fields)*
288288
}? $crate::error::Error)
289289
};
290-
($(&$this:ident in)? $t:ident $(::<$($generics:ty),* $(,)?>)? {
290+
($(&$this:ident in)? $t:ident $(::$p:ident)* $(::<$($generics:ty),* $(,)?>)? {
291291
$($fields:tt)*
292292
}? $err:ty) => {
293-
::pin_init::try_pin_init!($(&$this in)? $t $(::<$($generics),*>)? {
293+
::pin_init::try_pin_init!($(&$this in)? $t $(::$p)* $(::<$($generics),*>)? {
294294
$($fields)*
295295
}? $err)
296296
};

0 commit comments

Comments
 (0)