The latest version of redis-async was published before the recent changes to Tokio that included the new Tokio Runtime, as such it uses the Executor trait from futures-rs instead. The Tokio DefaultExecutor doesn’t implement the Executor trait from futures so we get the compilation error. (Using the new Tokio thread-pool does work, because that does implement Executor from Futures, as well as the Tokio Executor)
I think the reason why DefaultExecutor is implemented this way is in anticipation of Futures 0.2 which is expected to change these traits.
As such I’m considering waiting for Futures 0.2 before updating redis-async, to allow these areas to settle down. Although, now that I think of it, given that DefaultExecutor exists, and is intended to be a permanent fixture I believe, I’m thinking the next change might be to use that internally within redis-async and not to require any executors to be provided. This should mean any future changes are internal and won’t change the external API again.