Oh good point about the lock file, hadn't thought about that. Will there be a compelling reason to rewrite stuff using async/await? I get that it will be the right way going forward but curious about the benefits for legacy stuff.
That said, async/await produces stuff that implements std::future::Future. The existing async ecosystem was built around the futures crate. Once std future hits stable in the next release, the Futures crate will release a 0.3 version, which has compatibility stuff between the new futures and futures 0.1, so you can technically bridge between the two worlds.
The benefit is basically "you won't make your users use a bridge between your code and the new stuff".