Messages in this thread | | | Date | Thu, 13 Apr 2023 08:43:07 -0300 | Subject | Re: [PATCH] rust: init: broaden the blanket impl of `Init` | From | Martin Rodriguez Reboredo <> |
| |
On 4/13/23 07:02, Benno Lossin wrote: > This makes it possible to use `T` as a `impl Init<T, E>` for every error > type `E` instead of just `Infallible`. > > Signed-off-by: Benno Lossin <benno.lossin@proton.me> > --- > > @Miguel: you can squash this patch into 90e53c5e70a69 or put it on top of > rust-next. > > rust/kernel/init.rs | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/rust/kernel/init.rs b/rust/kernel/init.rs > index a1298c8bbda0..4ebfb08dab11 100644 > --- a/rust/kernel/init.rs > +++ b/rust/kernel/init.rs > @@ -1190,8 +1190,8 @@ pub fn uninit<T, E>() -> impl Init<MaybeUninit<T>, E> { > } > > // SAFETY: Every type can be initialized by-value. > -unsafe impl<T> Init<T> for T { > - unsafe fn __init(self, slot: *mut T) -> Result<(), Infallible> { > +unsafe impl<T, E> Init<T, E> for T { > + unsafe fn __init(self, slot: *mut T) -> Result<(), E> { > unsafe { slot.write(self) }; > Ok(()) > } > > base-commit: 1944caa8e8dcb2d93d99d8364719ad8d07aa163f > -- > 2.39.2 > >
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
| |