mirror of
https://github.com/tokio-rs/tokio.git
synced 2026-08-23 00:00:10 +02:00
This patch adds experimental async/await support to Tokio. It does this by adding feature flags to existing libs only where necessary in order to add nightly specific code (mostly `Unpin` implementations). It then provides a new crate: `tokio-async-await` which is a shim layer on top of `tokio`. The `tokio-async-await` crate is expected to look exactly like `tokio` does, but with async / await support. This strategy reduces the amount of cfg guarding in the main libraries. This patch also adds `tokio-channel`, which is copied from futures-rs 0.1 and adds the necessary `Unpin` implementations. In general, futures 0.1 is mostly unmaintained, so it will make sense for Tokio to take over maintainership of key components regardless of async / await support.
17 lines
284 B
Rust
17 lines
284 B
Rust
use futures::Future;
|
|
|
|
pub trait ForgetExt {
|
|
fn forget(self);
|
|
}
|
|
|
|
impl<F> ForgetExt for F
|
|
where F: Future + Sized + Send + 'static,
|
|
F::Item: Send,
|
|
F::Error: Send
|
|
{
|
|
fn forget(self) {
|
|
use std::thread;
|
|
thread::spawn(|| self.wait());
|
|
}
|
|
}
|