+2
−0
+29
−0
Loading
Allow writing `_: { /* any number of statements */ }` in initializers to
run arbitrary code during initialization.
try_init!(MyStruct {
_: {
if check_something() {
return Err(MyError);
}
},
foo: Foo::new(val),
_: {
println!("successfully initialized `MyStruct`");
},
})
Tested-by:
Alexandre Courbot <acourbot@nvidia.com>
Reviewed-by:
Gary Guo <gary@garyguo.net>
Reviewed-by:
Alice Ryhl <aliceryhl@google.com>
Tested-by:
Danilo Krummrich <dakr@kernel.org>
Reviewed-by:
Danilo Krummrich <dakr@kernel.org>
Signed-off-by:
Benno Lossin <lossin@kernel.org>