@@ -618,9 +618,9 @@ impl<'hir> LoweringContext<'_, 'hir> {
618618    /// Desugar `<expr>.await` into: 
619619/// ```rust 
620620/// match ::std::future::IntoFuture::into_future(<expr>) { 
621- ///     mut pinned  => loop { 
621+ ///     mut __awaitee  => loop { 
622622///         match unsafe { ::std::future::Future::poll( 
623- ///             <::std::pin::Pin>::new_unchecked(&mut pinned ), 
623+ ///             <::std::pin::Pin>::new_unchecked(&mut __awaitee ), 
624624///             ::std::future::get_context(task_context), 
625625///         ) } { 
626626///             ::std::task::Poll::Ready(result) => break result, 
@@ -657,21 +657,24 @@ impl<'hir> LoweringContext<'_, 'hir> {
657657        let  expr = self . lower_expr_mut ( expr) ; 
658658        let  expr_hir_id = expr. hir_id ; 
659659
660-         let  pinned_ident = Ident :: with_dummy_span ( sym:: pinned) ; 
661-         let  ( pinned_pat,  pinned_pat_hid)  =
662-             self . pat_ident_binding_mode ( span,  pinned_ident,  hir:: BindingAnnotation :: Mutable ) ; 
660+         // Note that the name of this binding must not be changed to something else because 
661+         // debuggers and debugger extensions expect it to be called `__awaitee`. They use 
662+         // this name to identify what is being awaited by a suspended async functions. 
663+         let  awaitee_ident = Ident :: with_dummy_span ( sym:: __awaitee) ; 
664+         let  ( awaitee_pat,  awaitee_pat_hid)  =
665+             self . pat_ident_binding_mode ( span,  awaitee_ident,  hir:: BindingAnnotation :: Mutable ) ; 
663666
664667        let  task_context_ident = Ident :: with_dummy_span ( sym:: _task_context) ; 
665668
666669        // unsafe { 
667670        //     ::std::future::Future::poll( 
668-         //         ::std::pin::Pin::new_unchecked(&mut pinned ), 
671+         //         ::std::pin::Pin::new_unchecked(&mut __awaitee ), 
669672        //         ::std::future::get_context(task_context), 
670673        //     ) 
671674        // } 
672675        let  poll_expr = { 
673-             let  pinned  = self . expr_ident ( span,  pinned_ident ,  pinned_pat_hid ) ; 
674-             let  ref_mut_pinned  = self . expr_mut_addr_of ( span,  pinned ) ; 
676+             let  awaitee  = self . expr_ident ( span,  awaitee_ident ,  awaitee_pat_hid ) ; 
677+             let  ref_mut_awaitee  = self . expr_mut_addr_of ( span,  awaitee ) ; 
675678            let  task_context = if  let  Some ( task_context_hid)  = self . task_context  { 
676679                self . expr_ident_mut ( span,  task_context_ident,  task_context_hid) 
677680            }  else  { 
@@ -681,7 +684,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
681684            let  new_unchecked = self . expr_call_lang_item_fn_mut ( 
682685                span, 
683686                hir:: LangItem :: PinNewUnchecked , 
684-                 arena_vec ! [ self ;  ref_mut_pinned ] , 
687+                 arena_vec ! [ self ;  ref_mut_awaitee ] , 
685688                Some ( expr_hir_id) , 
686689            ) ; 
687690            let  get_context = self . expr_call_lang_item_fn_mut ( 
@@ -782,8 +785,8 @@ impl<'hir> LoweringContext<'_, 'hir> {
782785            span :  self . lower_span ( span) , 
783786        } ) ; 
784787
785-         // mut pinned  => loop { ... } 
786-         let  pinned_arm  = self . arm ( pinned_pat ,  loop_expr) ; 
788+         // mut __awaitee  => loop { ... } 
789+         let  awaitee_arm  = self . arm ( awaitee_pat ,  loop_expr) ; 
787790
788791        // `match ::std::future::IntoFuture::into_future(<expr>) { ... }` 
789792        let  into_future_span = self . mark_span_with_reason ( 
@@ -799,11 +802,11 @@ impl<'hir> LoweringContext<'_, 'hir> {
799802        ) ; 
800803
801804        // match <into_future_expr> { 
802-         //     mut pinned  => loop { .. } 
805+         //     mut __awaitee  => loop { .. } 
803806        // } 
804807        hir:: ExprKind :: Match ( 
805808            into_future_expr, 
806-             arena_vec ! [ self ;  pinned_arm ] , 
809+             arena_vec ! [ self ;  awaitee_arm ] , 
807810            hir:: MatchSource :: AwaitDesugar , 
808811        ) 
809812    } 
0 commit comments