error[E0277]: `?` couldn't convert the error to `std::alloc::AllocError` --> tests/ui/compile-fail/init/no_error_coercion.rs:16:9 | 16 | / try_init!(Self { 17 | | a: Box::new(42), 18 | | bar <- init!(Bar { b: 42 }), 19 | | }? AllocError) | |______________________^ the trait `From` is not implemented for `std::alloc::AllocError`, which is required by `Result: FromResidual>` | = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait = help: the following other types implement trait `FromResidual`: `Result` implements `FromResidual>` `Result` implements `FromResidual>` = note: required for `Result` to implement `FromResidual>` = note: this error originates in the macro `$crate::__init_internal` which comes from the expansion of the macro `try_init` (in Nightly builds, run with -Z macro-backtrace for more info)