4lDO2 / real-async-trait-rs

A proc macro for real async traits, using nightly-only existential types and generic associated types to work around the need for type erasure
Apache License 2.0
45 stars 3 forks source link
async-trait existential-types generic-associated-types higher-kinded-types hkt proc-macro proc-macro-attributes

#[real_async_trait]

Build Status Crates.io Documentation

This nightly-only crate provides a proof-of-concept proc macro attribute that allows async functions within traits, without the possible runtime overhead of wrapping everything in a Box and erasing the types. This is made possible thanks to the unstable generic_associated_types and type_alias_impl_trait nightly features.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.