| error[E0308]: mismatched types |
| --> $DIR/issue-90014-tait2.rs:27:9 |
| | |
| LL | fn make_fut(&self) -> Box<dyn for<'a> Trait<'a, Thing = Fut<'a>>> { |
| | ------------------------------------------- expected `Box<(dyn for<'a> Trait<'a, Thing = Fut<'a>> + 'static)>` because of return type |
| LL | Box::new((async { () },)) |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box<dyn Trait<'a, Thing = Fut<'_>>>`, found `Box<(...,)>` |
| | |
| = note: expected struct `Box<(dyn for<'a> Trait<'a, Thing = Fut<'a>> + 'static)>` |
| found struct `Box<({async block@$DIR/issue-90014-tait2.rs:27:19: 27:31},)>` |
| = help: `({async block@$DIR/issue-90014-tait2.rs:27:19: 27:31},)` implements `Trait` so you could box the found value and coerce it to the trait object `Box<dyn Trait>`, you will have to change the expected type as well |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0308`. |