rust: init: add `{pin_}chain` functions to `{Pin}Init<T, E>`
authorBenno Lossin <benno.lossin@proton.me>
Mon, 14 Aug 2023 08:47:48 +0000 (08:47 +0000)
committerMiguel Ojeda <ojeda@kernel.org>
Mon, 21 Aug 2023 12:31:49 +0000 (14:31 +0200)
commit7f8977a7fe6df9cdfe489c641058ca5534ec73eb
treedf8a424a9413189899c2033199ad86918a4d54b2
parent1a8076ac6d83825bedb2050e67db0f2635acbb09
rust: init: add `{pin_}chain` functions to `{Pin}Init<T, E>`

The `{pin_}chain` functions extend an initializer: it not only
initializes the value, but also executes a closure taking a reference to
the initialized value. This allows to do something with a value directly
after initialization.

Suggested-by: Asahi Lina <lina@asahilina.net>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Signed-off-by: Benno Lossin <benno.lossin@proton.me>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Link: https://lore.kernel.org/r/20230814084602.25699-13-benno.lossin@proton.me
[ Cleaned a few trivial nits. ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
rust/kernel/init.rs
rust/kernel/init/__internal.rs