]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: pin-init: remove `try_` versions of the initializer macros
authorBenno Lossin <lossin@kernel.org>
Fri, 16 Jan 2026 10:54:16 +0000 (11:54 +0100)
committerBenno Lossin <lossin@kernel.org>
Sat, 17 Jan 2026 09:49:31 +0000 (10:49 +0100)
commit61d62ab08f0e62f89929f3920c0b6521d849fd57
tree96d3d1e892d0faf59f9736715172735b68302fa1
parent0f61b1860cc3f52aef9036d7235ed1f017632193
rust: pin-init: remove `try_` versions of the initializer macros

The `try_[pin_]init!` versions of the initializer macros are
superfluous. Instead of forcing the user to always write an error in
`try_[pin_]init!` and not allowing one in `[pin_]init!`, combine them
into `[pin_]init!` that defaults the error to
`core::convert::Infallible`, but also allows to specify a custom one.

Projects using pin-init still can provide their own defaulting
initializers using the `try_` prefix by using the `#[default_error]`
attribute added in a future patch.

[ Adjust the definition of the kernel's version of the `try_`
  initializer macros - Benno]

Reviewed-by: Gary Guo <gary@garyguo.net>
Tested-by: Andreas Hindborg <a.hindborg@kernel.org>
Signed-off-by: Benno Lossin <lossin@kernel.org>
rust/kernel/init.rs
rust/pin-init/README.md
rust/pin-init/examples/linked_list.rs
rust/pin-init/examples/pthread_mutex.rs
rust/pin-init/src/lib.rs