error[E0282]: type annotations needed --> $DIR/recursive-coroutine-boxed.rs:12:23 | LL | let mut gen = Box::pin(foo()); | ^^^^^^^^ cannot infer type of the type parameter `T` declared on the struct `Box` LL | LL | let mut r = gen.as_mut().resume(()); | ------ type must be known at this point | help: consider specifying the generic argument | LL | let mut gen = Box::::pin(foo()); | +++++ error[E0282]: type annotations needed --> $DIR/recursive-coroutine-boxed.rs:9:13 | LL | fn foo() -> impl Coroutine { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot infer type for opaque type `impl Coroutine` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0282`.