From 1b44947d36ccf7eba2b3bd245769eff68abf6d4d Mon Sep 17 00:00:00 2001 From: David Wood Date: Sun, 8 Sep 2019 23:24:14 +0100 Subject: [PATCH] Update await desugaring after rust-lang/rust#64292 Signed-off-by: David Wood --- src/expressions/await-expr.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/expressions/await-expr.md b/src/expressions/await-expr.md index 95037d73d..a6e7dc583 100644 --- a/src/expressions/await-expr.md +++ b/src/expressions/await-expr.md @@ -52,12 +52,13 @@ Effectively, an `.await` expression is roughly equivalent to the following (this desugaring is not normative): ```rust,ignore -let future = /* */; -loop { - let mut pin = unsafe { Pin::new_unchecked(&mut future) }; - match Pin::future::poll(Pin::borrow(&mut pin), &mut current_context) { - Poll::Ready(r) => break r, - Poll::Pending => yield Poll::Pending, +match /* */ { + mut pinned => loop { + let mut pin = unsafe { Pin::new_unchecked(&mut pinned) }; + match Pin::future::poll(Pin::borrow(&mut pin), &mut current_context) { + Poll::Ready(r) => break r, + Poll::Pending => yield Poll::Pending, + } } } ```