Add lang items for AsyncFn's associated types · model-checking/verify-rust-std@2e1896e (original) (raw)

`@@ -26,6 +26,7 @@ pub trait AsyncFn<Args: Tuple>: AsyncFnMut {

`

26

26

`pub trait AsyncFnMut<Args: Tuple>: AsyncFnOnce {

`

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.

``