Skip to content

Commit d35704d

Browse files
committed
Tighten language about ready! and poll_fn and move to stabilizations
1 parent a7dac7c commit d35704d

File tree

1 file changed

+10
-19
lines changed

1 file changed

+10
-19
lines changed

posts/2022-09-22-Rust-1.64.0.md

Lines changed: 10 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -140,23 +140,6 @@ working with C strings. Rust 1.64 also provides
140140
for working with owned C strings using only the `alloc` crate, rather than the
141141
full `std` library.
142142

143-
### Stabilizing `ready!` and `poll_fn`
144-
145-
When working with the low-level details of futures, you'll currently often
146-
encounter the [`Poll`](https://doc.rust-lang.org/std/task/enum.Poll.html) type.
147-
We've stabilized a few helpers for working with this type:
148-
149-
- [`ready!`](https://doc.rust-lang.org/std/task/macro.ready.html) takes a
150-
`Poll` and returns from the containing function for `Poll::Pending`, or
151-
returns the contained value in a `Poll::Ready`. This can be useful when
152-
implementing futures manually using `Poll`.
153-
- [`poll_fn`](https://doc.rust-lang.org/std/future/fn.poll_fn.html) turns a
154-
function returning `Poll` into a future.
155-
156-
In the future, we hope to provide simpler APIs that require less use of
157-
low-level details like `Poll` and `Pin`, but in the meantime, these helpers
158-
make it easier to write such code.
159-
160143
### rust-analyzer is now available via rustup
161144

162145
[rust-analyzer](https://rust-analyzer.github.io/) is now included as part of
@@ -212,8 +195,6 @@ targets by default.
212195
The following methods and trait implementations are now stabilized:
213196

214197
- [`future::IntoFuture`](https://doc.rust-lang.org/stable/std/future/trait.IntoFuture.html)
215-
- [`future::poll_fn`](https://doc.rust-lang.org/stable/std/future/fn.poll_fn.html)
216-
- [`task::ready!`](https://doc.rust-lang.org/stable/std/task/macro.ready.html)
217198
- [`num::NonZero*::checked_mul`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_mul)
218199
- [`num::NonZero*::checked_pow`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.checked_pow)
219200
- [`num::NonZero*::saturating_mul`](https://doc.rust-lang.org/stable/std/num/struct.NonZeroUsize.html#method.saturating_mul)
@@ -258,6 +239,16 @@ available in `core::ffi` and `std::ffi`:
258239
- [`ffi::c_ulonglong`](https://doc.rust-lang.org/stable/std/ffi/type.c_ulonglong.html)
259240
- [`ffi::c_ushort`](https://doc.rust-lang.org/stable/std/ffi/type.c_ushort.html)
260241

242+
We've stabilized some helpers for use with `Poll`, the low-level implementation
243+
underneath futures:
244+
245+
- [`future::poll_fn`](https://doc.rust-lang.org/stable/std/future/fn.poll_fn.html)
246+
- [`task::ready!`](https://doc.rust-lang.org/stable/std/task/macro.ready.html)
247+
248+
In the future, we hope to provide simpler APIs that require less use of
249+
low-level details like `Poll` and `Pin`, but in the meantime, these helpers
250+
make it easier to write such code.
251+
261252
These APIs are now usable in const contexts:
262253

263254
- [`slice::from_raw_parts`](https://doc.rust-lang.org/stable/core/slice/fn.from_raw_parts.html)

0 commit comments

Comments
 (0)