summaryrefslogtreecommitdiffstats
path: root/library/core/src/pin.rs
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /library/core/src/pin.rs
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'library/core/src/pin.rs')
-rw-r--r--library/core/src/pin.rs28
1 files changed, 15 insertions, 13 deletions
diff --git a/library/core/src/pin.rs b/library/core/src/pin.rs
index 94c682b61..bca97d4ee 100644
--- a/library/core/src/pin.rs
+++ b/library/core/src/pin.rs
@@ -1085,17 +1085,19 @@ impl<P, U> DispatchFromDyn<Pin<U>> for Pin<P> where P: DispatchFromDyn<U> {}
/// # assert_eq!(42, block_on(async { 42 }));
/// ```
///
-/// ### With `Generator`s
+/// ### With `Coroutine`s
///
/// ```rust
-/// #![feature(generators, generator_trait)]
+/// #![cfg_attr(bootstrap, feature(generators))]
+/// #![cfg_attr(not(bootstrap), feature(coroutines))]
+/// #![feature(coroutine_trait)]
/// use core::{
-/// ops::{Generator, GeneratorState},
+/// ops::{Coroutine, CoroutineState},
/// pin::pin,
/// };
///
-/// fn generator_fn() -> impl Generator<Yield = usize, Return = ()> /* not Unpin */ {
-/// // Allow generator to be self-referential (not `Unpin`)
+/// fn coroutine_fn() -> impl Coroutine<Yield = usize, Return = ()> /* not Unpin */ {
+/// // Allow coroutine to be self-referential (not `Unpin`)
/// // vvvvvv so that locals can cross yield points.
/// static || {
/// let foo = String::from("foo");
@@ -1107,18 +1109,18 @@ impl<P, U> DispatchFromDyn<Pin<U>> for Pin<P> where P: DispatchFromDyn<U> {}
/// }
///
/// fn main() {
-/// let mut generator = pin!(generator_fn());
-/// match generator.as_mut().resume(()) {
-/// GeneratorState::Yielded(0) => {},
+/// let mut coroutine = pin!(coroutine_fn());
+/// match coroutine.as_mut().resume(()) {
+/// CoroutineState::Yielded(0) => {},
/// _ => unreachable!(),
/// }
-/// match generator.as_mut().resume(()) {
-/// GeneratorState::Yielded(3) => {},
+/// match coroutine.as_mut().resume(()) {
+/// CoroutineState::Yielded(3) => {},
/// _ => unreachable!(),
/// }
-/// match generator.resume(()) {
-/// GeneratorState::Yielded(_) => unreachable!(),
-/// GeneratorState::Complete(()) => {},
+/// match coroutine.resume(()) {
+/// CoroutineState::Yielded(_) => unreachable!(),
+/// CoroutineState::Complete(()) => {},
/// }
/// }
/// ```