This is a cross post from users.rust-lang.org. It was recommended that the internals forum would probably be a better audience for this. Rather than repost it in its (6000+ word) entirety I am simply linking to it. Comments and corrections welcome.
This is both an introduction to coroutines and how they might be implemented in Rust and all the problems that have been uncovered by the last two RFCs. Lots of links and details. I intended for this as kind of a “Please start here” since one of the aforementioned RFCs is maybe hundreds of posts long, but also to get the attention of library authors who might have valuable input on what they might desire. The post itself is very futures-rs focused but of course I am interested in, for instance, what a nom-centric perspective might uncover.