@@ -3740,12 +3740,11 @@ impl<'a> LoweringContext<'a> {
37403740 let fs = fields
37413741 . iter ( )
37423742 . map ( |f| {
3743- let LoweredNodeId { node_id, hir_id } = self . next_id ( ) ;
3743+ let LoweredNodeId { node_id : _ , hir_id } = self . next_id ( ) ;
37443744
37453745 Spanned {
37463746 span : f. span ,
37473747 node : hir:: FieldPat {
3748- id : node_id,
37493748 hir_id,
37503749 ident : f. node . ident ,
37513750 pat : self . lower_pat ( & f. node . pat ) ,
@@ -3777,9 +3776,8 @@ impl<'a> LoweringContext<'a> {
37773776 PatKind :: Mac ( _) => panic ! ( "Shouldn't exist here" ) ,
37783777 } ;
37793778
3780- let LoweredNodeId { node_id, hir_id } = self . lower_node_id ( p. id ) ;
3779+ let LoweredNodeId { node_id : _ , hir_id } = self . lower_node_id ( p. id ) ;
37813780 P ( hir:: Pat {
3782- id : node_id,
37833781 hir_id,
37843782 node,
37853783 span : p. span ,
@@ -4353,7 +4351,7 @@ impl<'a> LoweringContext<'a> {
43534351 let iter = self . str_to_ident ( "iter" ) ;
43544352
43554353 let next_ident = self . str_to_ident ( "__next" ) ;
4356- let next_pat = self . pat_ident_binding_mode (
4354+ let ( next_pat, next_pat_nid ) = self . pat_ident_binding_mode (
43574355 desugared_span,
43584356 next_ident,
43594357 hir:: BindingAnnotation :: Mutable ,
@@ -4362,9 +4360,9 @@ impl<'a> LoweringContext<'a> {
43624360 // `::std::option::Option::Some(val) => next = val`
43634361 let pat_arm = {
43644362 let val_ident = self . str_to_ident ( "val" ) ;
4365- let val_pat = self . pat_ident ( pat. span , val_ident) ;
4366- let val_expr = P ( self . expr_ident ( pat. span , val_ident, val_pat . id ) ) ;
4367- let next_expr = P ( self . expr_ident ( pat. span , next_ident, next_pat . id ) ) ;
4363+ let ( val_pat, val_pat_nid ) = self . pat_ident ( pat. span , val_ident) ;
4364+ let val_expr = P ( self . expr_ident ( pat. span , val_ident, val_pat_nid ) ) ;
4365+ let next_expr = P ( self . expr_ident ( pat. span , next_ident, next_pat_nid ) ) ;
43684366 let assign = P ( self . expr (
43694367 pat. span ,
43704368 hir:: ExprKind :: Assign ( next_expr, val_expr) ,
@@ -4383,15 +4381,15 @@ impl<'a> LoweringContext<'a> {
43834381 } ;
43844382
43854383 // `mut iter`
4386- let iter_pat = self . pat_ident_binding_mode (
4384+ let ( iter_pat, iter_pat_nid ) = self . pat_ident_binding_mode (
43874385 desugared_span,
43884386 iter,
43894387 hir:: BindingAnnotation :: Mutable
43904388 ) ;
43914389
43924390 // `match ::std::iter::Iterator::next(&mut iter) { ... }`
43934391 let match_expr = {
4394- let iter = P ( self . expr_ident ( head_sp, iter, iter_pat . id ) ) ;
4392+ let iter = P ( self . expr_ident ( head_sp, iter, iter_pat_nid ) ) ;
43954393 let ref_mut_iter = self . expr_mut_addr_of ( head_sp, iter) ;
43964394 let next_path = & [ "iter" , "Iterator" , "next" ] ;
43974395 let next_path = P ( self . expr_std_path ( head_sp, next_path, None , ThinVec :: new ( ) ) ) ;
@@ -4415,7 +4413,7 @@ impl<'a> LoweringContext<'a> {
44154413 span : head_sp,
44164414 } ;
44174415
4418- let next_expr = P ( self . expr_ident ( head_sp, next_ident, next_pat . id ) ) ;
4416+ let next_expr = P ( self . expr_ident ( head_sp, next_ident, next_pat_nid ) ) ;
44194417
44204418 // `let mut __next`
44214419 let next_let = self . stmt_let_pat (
@@ -4542,11 +4540,11 @@ impl<'a> LoweringContext<'a> {
45424540 // `Ok(val) => #[allow(unreachable_code)] val,`
45434541 let ok_arm = {
45444542 let val_ident = self . str_to_ident ( "val" ) ;
4545- let val_pat = self . pat_ident ( e. span , val_ident) ;
4543+ let ( val_pat, val_pat_nid ) = self . pat_ident ( e. span , val_ident) ;
45464544 let val_expr = P ( self . expr_ident_with_attrs (
45474545 e. span ,
45484546 val_ident,
4549- val_pat . id ,
4547+ val_pat_nid ,
45504548 ThinVec :: from ( attrs. clone ( ) ) ,
45514549 ) ) ;
45524550 let ok_pat = self . pat_ok ( e. span , val_pat) ;
@@ -4558,12 +4556,12 @@ impl<'a> LoweringContext<'a> {
45584556 // return Try::from_error(From::from(err)),`
45594557 let err_arm = {
45604558 let err_ident = self . str_to_ident ( "err" ) ;
4561- let err_local = self . pat_ident ( e. span , err_ident) ;
4559+ let ( err_local, err_local_nid ) = self . pat_ident ( e. span , err_ident) ;
45624560 let from_expr = {
45634561 let path = & [ "convert" , "From" , "from" ] ;
45644562 let from = P ( self . expr_std_path (
45654563 e. span , path, None , ThinVec :: new ( ) ) ) ;
4566- let err_expr = self . expr_ident ( e. span , err_ident, err_local . id ) ;
4564+ let err_expr = self . expr_ident ( e. span , err_ident, err_local_nid ) ;
45674565
45684566 self . expr_call ( e. span , from, hir_vec ! [ err_expr] )
45694567 } ;
@@ -4911,15 +4909,15 @@ impl<'a> LoweringContext<'a> {
49114909 ident : Ident ,
49124910 ex : P < hir:: Expr > ,
49134911 ) -> ( hir:: Stmt , NodeId ) {
4914- let pat = if mutbl {
4912+ let ( pat, pat_nid ) = if mutbl {
49154913 self . pat_ident_binding_mode ( sp, ident, hir:: BindingAnnotation :: Mutable )
49164914 } else {
49174915 self . pat_ident ( sp, ident)
49184916 } ;
4919- let pat_id = pat . id ;
4917+
49204918 (
49214919 self . stmt_let_pat ( sp, Some ( ex) , pat, hir:: LocalSource :: Normal ) ,
4922- pat_id ,
4920+ pat_nid ,
49234921 )
49244922 }
49254923
@@ -4977,7 +4975,7 @@ impl<'a> LoweringContext<'a> {
49774975 self . pat ( span, pt)
49784976 }
49794977
4980- fn pat_ident ( & mut self , span : Span , ident : Ident ) -> P < hir:: Pat > {
4978+ fn pat_ident ( & mut self , span : Span , ident : Ident ) -> ( P < hir:: Pat > , NodeId ) {
49814979 self . pat_ident_binding_mode ( span, ident, hir:: BindingAnnotation :: Unannotated )
49824980 }
49834981
@@ -4986,25 +4984,26 @@ impl<'a> LoweringContext<'a> {
49864984 span : Span ,
49874985 ident : Ident ,
49884986 bm : hir:: BindingAnnotation ,
4989- ) -> P < hir:: Pat > {
4987+ ) -> ( P < hir:: Pat > , NodeId ) {
49904988 let LoweredNodeId { node_id, hir_id } = self . next_id ( ) ;
49914989
4992- P ( hir:: Pat {
4993- id : node_id,
4994- hir_id,
4995- node : hir:: PatKind :: Binding ( bm, node_id, hir_id, ident. with_span_pos ( span) , None ) ,
4996- span,
4997- } )
4990+ (
4991+ P ( hir:: Pat {
4992+ hir_id,
4993+ node : hir:: PatKind :: Binding ( bm, node_id, hir_id, ident. with_span_pos ( span) , None ) ,
4994+ span,
4995+ } ) ,
4996+ node_id
4997+ )
49984998 }
49994999
50005000 fn pat_wild ( & mut self , span : Span ) -> P < hir:: Pat > {
50015001 self . pat ( span, hir:: PatKind :: Wild )
50025002 }
50035003
50045004 fn pat ( & mut self , span : Span , pat : hir:: PatKind ) -> P < hir:: Pat > {
5005- let LoweredNodeId { node_id, hir_id } = self . next_id ( ) ;
5005+ let LoweredNodeId { node_id : _ , hir_id } = self . next_id ( ) ;
50065006 P ( hir:: Pat {
5007- id : node_id,
50085007 hir_id,
50095008 node : pat,
50105009 span,
0 commit comments