Skip to content

➖Remove async-trait in favor of native RPITIT#261

Open
a-kenji wants to merge 1 commit intofriedow:mainfrom
a-kenji:ke-impl-async-trait
Open

➖Remove async-trait in favor of native RPITIT#261
a-kenji wants to merge 1 commit intofriedow:mainfrom
a-kenji:ke-impl-async-trait

Conversation

@a-kenji
Copy link
Collaborator

@a-kenji a-kenji commented Feb 15, 2026

The async-trait crate is no longer needed since Rust 1.75 stabilized
return-position impl trait in traits (RPITIT).
This eliminates the per-call heap allocation from boxing futures while keeping the same behavior.

This is slightly less ergonomic, since it's now using static dispatch and the trait can't be dynamically dispatched anymore.

The `async-trait` crate is no longer needed since Rust 1.75 stabilized
return-position impl trait in traits ([RPITIT]).
This eliminates the per-call heap allocation from boxing futures while keeping the same behavior.

This is slightly less ergonomic, since it's now using static dispatch and the trait can't be dynamically dispatched anymore.

[RPITIT]: https://rustc-dev-guide.rust-lang.org/return-position-impl-trait-in-trait.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant