use std::future::Future; use crate::task::{Builder, JoinHandle}; /// Spawns a task. /// /// This function is similar to [`std::thread::spawn`], except it spawns an asynchronous task. /// /// [`std::thread`]: https://doc.rust-lang.org/std/thread/fn.spawn.html /// /// # Examples /// /// ``` /// # async_std::task::block_on(async { /// # /// use async_std::task; /// /// let handle = task::spawn(async { /// 1 + 2 /// }); /// /// assert_eq!(handle.await, 3); /// # /// # }) /// ``` pub fn spawn(future: F) -> JoinHandle where F: Future + Send + 'static, T: Send + 'static, { Builder::new().spawn(future).expect("cannot spawn task") }