Remove the need for the async_trait
crate by leveraging the native async fn
s support now in Rust as of v1.75
#202
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
https://blog.rust-lang.org/2023/12/21/async-fn-rpit-in-traits.html
This PR also makes the newly supported functionality opt-in via
no-default-features
and not enabling theasync-trait
feature (and therefore dependency).Benchmarks show that functionality isn't generally impacted on small-scale tests, however by using
async fn
natively in the trait we risk a performance impact because this won'tBox
the futures into aBoxFuture
and won't move the future onto the heap.