I'm not sure how useful this would be in practice, given that you'd likely use the async/await syntax instead, but should the following be allowed/possible and if not: Why not? I don't know enough details about pin project (and future changes to improve its usability), so I don't really know how useful this'd be for those implementing a Future (combinator) in practice. use std::task::Poll; pub fn foo() -> Poll<()> { bar()?; Poll::Ready(()) } fn bar() -> Poll<()> { todo!() } the ? operator can...