Skip to content

Commit 1d2089a

Browse files
authored
chore: replace all doctest usage of pin_mut with pin (#2940)
Signed-off-by: tison <[email protected]>
1 parent 3ce1fca commit 1d2089a

File tree

14 files changed

+110
-76
lines changed

14 files changed

+110
-76
lines changed

futures-test/src/assert.rs

+18-15
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,16 @@ pub fn assert_is_unpin_stream<S: Stream + Unpin>(_: &mut S) {}
99
/// # Examples
1010
///
1111
/// ```
12+
/// use core::pin::pin;
13+
///
1214
/// use futures::stream;
1315
/// use futures_test::future::FutureTestExt;
14-
/// use futures_test::{
15-
/// assert_stream_pending, assert_stream_next, assert_stream_done,
16-
/// };
17-
/// use futures::pin_mut;
16+
/// use futures_test::assert_stream_pending;
17+
/// use futures_test::assert_stream_next;
18+
/// use futures_test::assert_stream_done;
1819
///
1920
/// let stream = stream::once((async { 5 }).pending_once());
20-
/// pin_mut!(stream);
21+
/// let mut stream = pin!(stream);
2122
///
2223
/// assert_stream_pending!(stream);
2324
/// assert_stream_next!(stream, 5);
@@ -46,15 +47,16 @@ macro_rules! assert_stream_pending {
4647
/// # Examples
4748
///
4849
/// ```
50+
/// use core::pin::pin;
51+
///
4952
/// use futures::stream;
5053
/// use futures_test::future::FutureTestExt;
51-
/// use futures_test::{
52-
/// assert_stream_pending, assert_stream_next, assert_stream_done,
53-
/// };
54-
/// use futures::pin_mut;
54+
/// use futures_test::assert_stream_pending;
55+
/// use futures_test::assert_stream_next;
56+
/// use futures_test::assert_stream_done;
5557
///
5658
/// let stream = stream::once((async { 5 }).pending_once());
57-
/// pin_mut!(stream);
59+
/// let mut stream = pin!(stream);
5860
///
5961
/// assert_stream_pending!(stream);
6062
/// assert_stream_next!(stream, 5);
@@ -90,15 +92,16 @@ macro_rules! assert_stream_next {
9092
/// # Examples
9193
///
9294
/// ```
95+
/// use core::pin::pin;
96+
///
9397
/// use futures::stream;
9498
/// use futures_test::future::FutureTestExt;
95-
/// use futures_test::{
96-
/// assert_stream_pending, assert_stream_next, assert_stream_done,
97-
/// };
98-
/// use futures::pin_mut;
99+
/// use futures_test::assert_stream_pending;
100+
/// use futures_test::assert_stream_next;
101+
/// use futures_test::assert_stream_done;
99102
///
100103
/// let stream = stream::once((async { 5 }).pending_once());
101-
/// pin_mut!(stream);
104+
/// let mut stream = pin!(stream);
102105
///
103106
/// assert_stream_pending!(stream);
104107
/// assert_stream_next!(stream, 5);

futures-test/src/future/mod.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,15 @@ pub trait FutureTestExt: Future {
3232
/// # Examples
3333
///
3434
/// ```
35+
/// use core::pin::pin;
36+
///
3537
/// use futures::task::Poll;
3638
/// use futures::future::FutureExt;
3739
/// use futures_test::task::noop_context;
3840
/// use futures_test::future::FutureTestExt;
39-
/// use futures::pin_mut;
4041
///
4142
/// let future = (async { 5 }).pending_once();
42-
/// pin_mut!(future);
43+
/// let mut future = pin!(future);
4344
///
4445
/// let mut cx = noop_context();
4546
///
@@ -84,14 +85,15 @@ pub trait FutureTestExt: Future {
8485
/// # Examples
8586
///
8687
/// ```
88+
/// use core::pin::pin;
89+
///
8790
/// use futures::task::Poll;
8891
/// use futures::future::{self, Future};
8992
/// use futures_test::task::noop_context;
9093
/// use futures_test::future::FutureTestExt;
91-
/// use futures::pin_mut;
9294
///
9395
/// let future = future::ready(1).interleave_pending();
94-
/// pin_mut!(future);
96+
/// let mut future = pin!(future);
9597
///
9698
/// let mut cx = noop_context();
9799
///

futures-test/src/io/read/mod.rs

+9-6
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,15 @@ pub trait AsyncReadTestExt: AsyncRead {
2929
/// # Examples
3030
///
3131
/// ```
32+
/// use core::pin::pin;
33+
///
3234
/// use futures::task::Poll;
3335
/// use futures::io::{AsyncRead, Cursor};
3436
/// use futures_test::task::noop_context;
3537
/// use futures_test::io::AsyncReadTestExt;
36-
/// use futures::pin_mut;
3738
///
3839
/// let reader = Cursor::new(&[1, 2, 3]).interleave_pending();
39-
/// pin_mut!(reader);
40+
/// let mut reader = pin!(reader);
4041
///
4142
/// let mut cx = noop_context();
4243
///
@@ -59,14 +60,15 @@ pub trait AsyncReadTestExt: AsyncRead {
5960
/// The returned reader will also implement `AsyncBufRead` if the underlying reader does.
6061
///
6162
/// ```
63+
/// use core::pin::pin;
64+
///
6265
/// use futures::task::Poll;
6366
/// use futures::io::{AsyncBufRead, Cursor};
6467
/// use futures_test::task::noop_context;
6568
/// use futures_test::io::AsyncReadTestExt;
66-
/// use futures::pin_mut;
6769
///
6870
/// let reader = Cursor::new(&[1, 2, 3]).interleave_pending();
69-
/// pin_mut!(reader);
71+
/// let mut reader = pin!(reader);
7072
///
7173
/// let mut cx = noop_context();
7274
///
@@ -93,14 +95,15 @@ pub trait AsyncReadTestExt: AsyncRead {
9395
/// # Examples
9496
///
9597
/// ```
98+
/// use core::pin::pin;
99+
///
96100
/// use futures::task::Poll;
97101
/// use futures::io::{AsyncRead, Cursor};
98102
/// use futures_test::task::noop_context;
99103
/// use futures_test::io::AsyncReadTestExt;
100-
/// use futures::pin_mut;
101104
///
102105
/// let reader = Cursor::new(&[1, 2, 3, 4, 5]).limited(2);
103-
/// pin_mut!(reader);
106+
/// let mut reader = pin!(reader);
104107
///
105108
/// let mut cx = noop_context();
106109
///

futures-test/src/io/write/mod.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -30,14 +30,15 @@ pub trait AsyncWriteTestExt: AsyncWrite {
3030
/// # Examples
3131
///
3232
/// ```
33+
/// use core::pin::pin;
34+
///
3335
/// use futures::task::Poll;
3436
/// use futures::io::{AsyncWrite, Cursor};
3537
/// use futures_test::task::noop_context;
3638
/// use futures_test::io::AsyncWriteTestExt;
37-
/// use futures::pin_mut;
3839
///
3940
/// let writer = Cursor::new(vec![0u8; 4].into_boxed_slice()).interleave_pending_write();
40-
/// pin_mut!(writer);
41+
/// let mut writer = pin!(writer);
4142
///
4243
/// let mut cx = noop_context();
4344
///
@@ -70,14 +71,15 @@ pub trait AsyncWriteTestExt: AsyncWrite {
7071
/// # Examples
7172
///
7273
/// ```
74+
/// use core::pin::pin;
75+
///
7376
/// use futures::task::Poll;
7477
/// use futures::io::{AsyncWrite, Cursor};
7578
/// use futures_test::task::noop_context;
7679
/// use futures_test::io::AsyncWriteTestExt;
77-
/// use futures::pin_mut;
7880
///
7981
/// let writer = Cursor::new(vec![0u8; 4].into_boxed_slice()).limited_write(2);
80-
/// pin_mut!(writer);
82+
/// let mut writer = pin!(writer);
8183
///
8284
/// let mut cx = noop_context();
8385
///

futures-test/src/stream/mod.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,15 @@ pub trait StreamTestExt: Stream {
2828
/// # Examples
2929
///
3030
/// ```
31+
/// use core::pin::pin;
32+
///
3133
/// use futures::task::Poll;
3234
/// use futures::stream::{self, Stream};
3335
/// use futures_test::task::noop_context;
3436
/// use futures_test::stream::StreamTestExt;
35-
/// use futures::pin_mut;
3637
///
3738
/// let stream = stream::iter(vec![1, 2]).interleave_pending();
38-
/// pin_mut!(stream);
39+
/// let mut stream = pin!(stream);
3940
///
4041
/// let mut cx = noop_context();
4142
///

futures-test/src/task/context.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,14 @@ pub fn panic_context() -> Context<'static> {
2222
/// # Examples
2323
///
2424
/// ```
25+
/// use core::pin::pin;
26+
///
2527
/// use futures::future::Future;
2628
/// use futures::task::Poll;
2729
/// use futures_test::task::noop_context;
28-
/// use futures::pin_mut;
2930
///
3031
/// let future = async { 5 };
31-
/// pin_mut!(future);
32+
/// let future = pin!(future);
3233
///
3334
/// assert_eq!(future.poll(&mut noop_context()), Poll::Ready(5));
3435
/// ```

futures-util/src/async_await/select_mod.rs

+12-10
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ macro_rules! document_select_macro {
5858
/// select! {
5959
/// x = st.next() => assert_eq!(Some(2), x),
6060
/// _ = fut => panic!(),
61-
/// };
61+
/// }
6262
/// # });
6363
/// ```
6464
///
@@ -87,14 +87,15 @@ macro_rules! document_select_macro {
8787
/// If a similar async function is called outside of `select` to produce
8888
/// a `Future`, the `Future` must be pinned in order to be able to pass
8989
/// it to `select`. This can be achieved via `Box::pin` for pinning a
90-
/// `Future` on the heap or the `pin_mut!` macro for pinning a `Future`
90+
/// `Future` on the heap or the `pin!` macro for pinning a `Future`
9191
/// on the stack.
9292
///
9393
/// ```
9494
/// # futures::executor::block_on(async {
95+
/// use core::pin::pin;
96+
///
9597
/// use futures::future::FutureExt;
9698
/// use futures::select;
97-
/// use futures::pin_mut;
9899
///
99100
/// // Calling the following async fn returns a Future which does not
100101
/// // implement Unpin
@@ -105,7 +106,7 @@ macro_rules! document_select_macro {
105106
/// let fut_1 = async_identity_fn(1).fuse();
106107
/// let fut_2 = async_identity_fn(2).fuse();
107108
/// let mut fut_1 = Box::pin(fut_1); // Pins the Future on the heap
108-
/// pin_mut!(fut_2); // Pins the Future on the stack
109+
/// let mut fut_2 = pin!(fut_2); // Pins the Future on the stack
109110
///
110111
/// let res = select! {
111112
/// a_res = fut_1 => a_res,
@@ -138,7 +139,7 @@ macro_rules! document_select_macro {
138139
/// b = b_fut => total += b,
139140
/// complete => break,
140141
/// default => panic!(), // never runs (futures run first, then complete)
141-
/// };
142+
/// }
142143
/// }
143144
/// assert_eq!(total, 10);
144145
/// # });
@@ -209,7 +210,7 @@ macro_rules! document_select_macro {
209210
/// select_biased! {
210211
/// x = st.next() => assert_eq!(Some(2), x),
211212
/// _ = fut => panic!(),
212-
/// };
213+
/// }
213214
/// # });
214215
/// ```
215216
///
@@ -238,14 +239,15 @@ macro_rules! document_select_macro {
238239
/// If a similar async function is called outside of `select_biased` to produce
239240
/// a `Future`, the `Future` must be pinned in order to be able to pass
240241
/// it to `select_biased`. This can be achieved via `Box::pin` for pinning a
241-
/// `Future` on the heap or the `pin_mut!` macro for pinning a `Future`
242+
/// `Future` on the heap or the `pin!` macro for pinning a `Future`
242243
/// on the stack.
243244
///
244245
/// ```
245246
/// # futures::executor::block_on(async {
247+
/// use core::pin::pin;
248+
///
246249
/// use futures::future::FutureExt;
247250
/// use futures::select_biased;
248-
/// use futures::pin_mut;
249251
///
250252
/// // Calling the following async fn returns a Future which does not
251253
/// // implement Unpin
@@ -256,7 +258,7 @@ macro_rules! document_select_macro {
256258
/// let fut_1 = async_identity_fn(1).fuse();
257259
/// let fut_2 = async_identity_fn(2).fuse();
258260
/// let mut fut_1 = Box::pin(fut_1); // Pins the Future on the heap
259-
/// pin_mut!(fut_2); // Pins the Future on the stack
261+
/// let mut fut_2 = pin!(fut_2); // Pins the Future on the stack
260262
///
261263
/// let res = select_biased! {
262264
/// a_res = fut_1 => a_res,
@@ -289,7 +291,7 @@ macro_rules! document_select_macro {
289291
/// b = b_fut => total += b,
290292
/// complete => break,
291293
/// default => panic!(), // never runs (futures run first, then complete)
292-
/// };
294+
/// }
293295
/// }
294296
/// assert_eq!(total, 10);
295297
/// # });

futures-util/src/future/future/fuse.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ impl<Fut: Future> Fuse<Fut> {
2929
///
3030
/// ```
3131
/// # futures::executor::block_on(async {
32+
/// use core::pin::pin;
33+
///
3234
/// use futures::channel::mpsc;
3335
/// use futures::future::{Fuse, FusedFuture, FutureExt};
3436
/// use futures::select;
3537
/// use futures::stream::StreamExt;
36-
/// use futures::pin_mut;
3738
///
3839
/// let (sender, mut stream) = mpsc::unbounded();
3940
///
@@ -45,7 +46,7 @@ impl<Fut: Future> Fuse<Fut> {
4546
/// // Use `Fuse::terminated()` to create an already-terminated future
4647
/// // which may be instantiated later.
4748
/// let foo_printer = Fuse::terminated();
48-
/// pin_mut!(foo_printer);
49+
/// let mut foo_printer = pin!(foo_printer);
4950
///
5051
/// loop {
5152
/// select! {

futures-util/src/future/maybe_done.rs

+3-2
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,12 @@ impl<Fut: Future + Unpin> Unpin for MaybeDone<Fut> {}
2929
///
3030
/// ```
3131
/// # futures::executor::block_on(async {
32+
/// use core::pin::pin;
33+
///
3234
/// use futures::future;
33-
/// use futures::pin_mut;
3435
///
3536
/// let future = future::maybe_done(async { 5 });
36-
/// pin_mut!(future);
37+
/// let mut future = pin!(future);
3738
/// assert_eq!(future.as_mut().take_output(), None);
3839
/// let () = future.as_mut().await;
3940
/// assert_eq!(future.as_mut().take_output(), Some(5));

futures-util/src/future/poll_immediate.rs

+10-5
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,19 @@ impl<T: Future> FusedFuture for PollImmediate<T> {
4848
/// so polling it in a tight loop is worse than using a blocking synchronous function.
4949
/// ```
5050
/// # futures::executor::block_on(async {
51+
/// use core::pin::pin;
52+
///
5153
/// use futures::task::Poll;
52-
/// use futures::{StreamExt, future, pin_mut};
54+
/// use futures::{StreamExt, future};
5355
/// use future::FusedFuture;
5456
///
5557
/// let f = async { 1_u32 };
56-
/// pin_mut!(f);
58+
/// let f = pin!(f);
5759
/// let mut r = future::poll_immediate(f);
5860
/// assert_eq!(r.next().await, Some(Poll::Ready(1)));
5961
///
6062
/// let f = async {futures::pending!(); 42_u8};
61-
/// pin_mut!(f);
63+
/// let f = pin!(f);
6264
/// let mut p = future::poll_immediate(f);
6365
/// assert_eq!(p.next().await, Some(Poll::Pending));
6466
/// assert!(!p.is_terminated());
@@ -114,9 +116,12 @@ where
114116
///
115117
/// ```
116118
/// # futures::executor::block_on(async {
117-
/// use futures::{future, pin_mut};
119+
/// use core::pin::pin;
120+
///
121+
/// use futures::future;
122+
///
118123
/// let f = async {futures::pending!(); 42_u8};
119-
/// pin_mut!(f);
124+
/// let mut f = pin!(f);
120125
/// assert_eq!(None, future::poll_immediate(&mut f).await);
121126
/// assert_eq!(42, f.await);
122127
/// # });

0 commit comments

Comments
 (0)