File tree Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Expand file tree Collapse file tree 1 file changed +29
-0
lines changed Original file line number Diff line number Diff line change 1
1
use crate :: future:: Future ;
2
2
3
3
/// Convert a type into a `Future`.
4
+ ///
5
+ /// # Examples
6
+ ///
7
+ /// ```
8
+ /// use async_std::future::{Future, IntoFuture};
9
+ /// use async_std::io;
10
+ /// use async_std::pin::Pin;
11
+ ///
12
+ /// struct Client;
13
+ ///
14
+ /// impl Client {
15
+ /// pub async fn send(self) -> io::Result<()> {
16
+ /// // Send a request
17
+ /// Ok(())
18
+ /// }
19
+ /// }
20
+ ///
21
+ /// impl IntoFuture for Client {
22
+ /// type Output = io::Result<()>;
23
+ ///
24
+ /// type Future = Pin<Box<dyn Future<Output = Self::Output>>>;
25
+ ///
26
+ /// fn into_future(self) -> Self::Future {
27
+ /// Box::pin(async {
28
+ /// self.send().await
29
+ /// })
30
+ /// }
31
+ /// }
32
+ /// ```
4
33
pub trait IntoFuture {
5
34
/// The type of value produced on completion.
6
35
type Output ;
You can’t perform that action at this time.
0 commit comments