@@ -26,6 +26,7 @@ pub trait AsyncFn<Args: Tuple>: AsyncFnMut<Args> {
|
26 | 26 | pub trait AsyncFnMut<Args: Tuple>: AsyncFnOnce<Args> { |
27 | 27 | /// Future returned by [`AsyncFnMut::async_call_mut`] and [`AsyncFn::async_call`]. |
28 | 28 | #[unstable(feature = "async_fn_traits", issue = "none")] |
| 29 | +#[cfg_attr(not(bootstrap), lang = "call_ref_future")] |
29 | 30 | type CallRefFuture<'a>: Future<Output = Self::Output> |
30 | 31 | where |
31 | 32 | Self: 'a; |
@@ -46,10 +47,12 @@ pub trait AsyncFnMut<Args: Tuple>: AsyncFnOnce<Args> {
|
46 | 47 | pub trait AsyncFnOnce<Args: Tuple> { |
47 | 48 | /// Future returned by [`AsyncFnOnce::async_call_once`]. |
48 | 49 | #[unstable(feature = "async_fn_traits", issue = "none")] |
| 50 | +#[cfg_attr(not(bootstrap), lang = "call_once_future")] |
49 | 51 | type CallOnceFuture: Future<Output = Self::Output>; |
50 | 52 | |
51 | 53 | /// Output type of the called closure's future. |
52 | 54 | #[unstable(feature = "async_fn_traits", issue = "none")] |
| 55 | +#[cfg_attr(not(bootstrap), lang = "async_fn_once_output")] |
53 | 56 | type Output; |
54 | 57 | |
55 | 58 | /// Call the [`AsyncFnOnce`], returning a future which may move out of the called closure. |
@@ -143,6 +146,7 @@ mod internal_implementation_detail {
|
143 | 146 | // `for<'env> fn() -> (&'env T, ...)`. This allows us to represent the binder |
144 | 147 | // of the closure's self-capture, and these upvar types will be instantiated with |
145 | 148 | // the `'closure_env` region provided to the associated type. |
| 149 | +#[cfg_attr(not(bootstrap), lang = "async_fn_kind_upvars")] |
146 | 150 | type Upvars<'closure_env, Inputs, Upvars, BorrowedUpvarsAsFnPtr>; |
147 | 151 | } |
148 | 152 | } |