macro_rules! impl_has_delayed_work {
    ($(impl$({$($generics:tt)*})?
       HasDelayedWork<$work_type:ty $(, $id:tt)?>
       for $self:ty
       { self.$field:ident }
    )*) => { ... };
}Expand description
Used to safely implement the HasDelayedWork<T, ID> trait.
This macro also implements the HasWork trait, so you do not need to use impl_has_work!
when using this macro.
ยงExamples
use kernel::sync::Arc;
use kernel::workqueue::{self, impl_has_delayed_work, DelayedWork};
struct MyStruct<'a, T, const N: usize> {
    work_field: DelayedWork<MyStruct<'a, T, N>, 17>,
    f: fn(&'a [T; N]),
}
impl_has_delayed_work! {
    impl{'a, T, const N: usize} HasDelayedWork<MyStruct<'a, T, N>, 17>
    for MyStruct<'a, T, N> { self.work_field }
}