I got lost in the weeds fairly quickly with this blog post, why is it that you didn't have to implement Future?
Pinning is required here because your AsyncRead read_to_end returns a future bound by some reference lifetime?
Pinning is required here because your AsyncRead read_to_end returns a future bound by some reference lifetime?
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.