Hacker News new | ask | show | jobs
by Nemo157 2746 days ago
The actual Future implementation comes from std, std::future::from_generator takes a generator with the right associated types and turns it into a future.

Yep, the generator created by quote_encrypt_unquote is creating internal self-references from the future created by read_to_end into the AsyncRead it's storing in its environment, while this is happening the AsyncRead must not move and therefore the generator must not move, which is what pinning represents.