@@ -924,7 +924,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
924924 arena_vec ! [ self ; new_unchecked, get_context] ,
925925 ) ,
926926 } ;
927- self . arena . alloc ( self . expr_unsafe ( call) )
927+ self . arena . alloc ( self . expr_unsafe ( span , call) )
928928 } ;
929929
930930 // `::std::task::Poll::Ready(result) => break result`
@@ -1832,7 +1832,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
18321832 arena_vec ! [ self ; iter] ,
18331833 ) ) ;
18341834 // `unsafe { ... }`
1835- let iter = self . arena . alloc ( self . expr_unsafe ( iter) ) ;
1835+ let iter = self . arena . alloc ( self . expr_unsafe ( head_span , iter) ) ;
18361836 let kind = self . make_lowered_await ( head_span, iter, FutureKind :: AsyncIterator ) ;
18371837 self . arena . alloc ( hir:: Expr { hir_id : self . next_id ( ) , kind, span : head_span } )
18381838 }
@@ -1887,7 +1887,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
18871887 arena_vec ! [ self ; iter] ,
18881888 ) ) ;
18891889 // `unsafe { ... }`
1890- let iter = self . arena . alloc ( self . expr_unsafe ( iter) ) ;
1890+ let iter = self . arena . alloc ( self . expr_unsafe ( head_span , iter) ) ;
18911891 let inner_match_expr = self . arena . alloc ( self . expr_match (
18921892 for_span,
18931893 iter,
@@ -2262,9 +2262,12 @@ impl<'hir> LoweringContext<'_, 'hir> {
22622262 self . expr ( span, expr_path)
22632263 }
22642264
2265- fn expr_unsafe ( & mut self , expr : & ' hir hir:: Expr < ' hir > ) -> hir:: Expr < ' hir > {
2265+ pub ( super ) fn expr_unsafe (
2266+ & mut self ,
2267+ span : Span ,
2268+ expr : & ' hir hir:: Expr < ' hir > ,
2269+ ) -> hir:: Expr < ' hir > {
22662270 let hir_id = self . next_id ( ) ;
2267- let span = expr. span ;
22682271 self . expr (
22692272 span,
22702273 hir:: ExprKind :: Block (
0 commit comments