Return position impl trait in trait ("RPITIT") has been stable since rust 1.75, and we make heavy use of it rs-wnfs and rs-car-mirror.
We haven't benchmarked blockstore performance in particular, but benchmarks that were using in-memory blockstores have improved by ~4% with RPITIT.
The other benefit of switching is just ergonomics: You're no longer requiring consumers of the library to use the async_trait macro, they can just write impl ... { async fn ... }.
Return position impl trait in trait ("RPITIT") has been stable since rust 1.75, and we make heavy use of it rs-wnfs and rs-car-mirror.
We haven't benchmarked blockstore performance in particular, but benchmarks that were using in-memory blockstores have improved by ~4% with RPITIT.
The other benefit of switching is just ergonomics: You're no longer requiring consumers of the library to use the
async_trait
macro, they can just writeimpl ... { async fn ... }
.