impl-trait-utils
impl-trait-utils copied to clipboard
Provide a Shorthand for adding Send bounds
Hey everyone,
it would be great if we could have a shorthand for making a trait Send only, like this:
#[trait_variant::only_send]
pub trait SomeTrait {
async fn hello() -> i32;
}
desugaring to
pub trait SomeTrait: Send {
fn hello() -> impl Future<Output = i32> + Send;
}
(no second variant)
The rationale behind it being that with the mostly Multithreaded Executors that are used widely right now (like tokio), this will probably be the default case once AFIT is becoming stable on 28th.
One more data point for rationale: rust-analyzer would generate async fn implementation methods with #[trait_variant::only_send], but -> impl Future<Output = i32> + Send methods with manually specified RPITIT.