eigerco / blockstore

An IPLD blockstore capable of holding arbitrary data indexed by CID
Apache License 2.0
6 stars 8 forks source link

feature request: Replace `async_trait` with return-position-impl-trait-in-trait #1

Closed matheus23 closed 7 months ago

matheus23 commented 7 months ago

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 ... }.

oblique commented 7 months ago

Sounds good. We are currently having other priorities, so contributions are very welcome.

zvolin commented 7 months ago

released in 0.3.0