@@ -26,6 +26,7 @@ pub trait AsyncFn<Args: Tuple>: AsyncFnMut { |
|
|
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 { |
|
|
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 |
} |