In this repo is minimal code to reproduce the issue: https://github.com/35359595/mpecdsa-future-error
There's a know issue with the compiler described here: rust-lang/rust#102211 (comment)
In general, some internal future[s] of AsyncProtocol::run() have to be .boxed(). Please take a look.