@@ -95,7 +95,7 @@ impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> {
9595 }
9696 ( & ExprLit ( ref l) , & ExprLit ( ref r) ) => l. node == r. node ,
9797 ( & ExprLoop ( ref lb, ref ll) , & ExprLoop ( ref rb, ref rl) ) => {
98- self . eq_block ( lb, rb) && both ( ll, rl, |l, r| l. as_str ( ) == r. as_str ( ) )
98+ self . eq_block ( lb, rb) && both ( ll, rl, |l, r| l. node . as_str ( ) == r. node . as_str ( ) )
9999 }
100100 ( & ExprMatch ( ref le, ref la, ref ls) , & ExprMatch ( ref re, ref ra, ref rs) ) => {
101101 ls == rs && self . eq_expr ( le, re) &&
@@ -124,7 +124,7 @@ impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> {
124124 ( & ExprUnary ( l_op, ref le) , & ExprUnary ( r_op, ref re) ) => l_op == r_op && self . eq_expr ( le, re) ,
125125 ( & ExprVec ( ref l) , & ExprVec ( ref r) ) => self . eq_exprs ( l, r) ,
126126 ( & ExprWhile ( ref lc, ref lb, ref ll) , & ExprWhile ( ref rc, ref rb, ref rl) ) => {
127- self . eq_expr ( lc, rc) && self . eq_block ( lb, rb) && both ( ll, rl, |l, r| l. as_str ( ) == r. as_str ( ) )
127+ self . eq_expr ( lc, rc) && self . eq_block ( lb, rb) && both ( ll, rl, |l, r| l. node . as_str ( ) == r. node . as_str ( ) )
128128 }
129129 _ => false ,
130130 }
@@ -142,8 +142,8 @@ impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> {
142142 pub fn eq_pat ( & self , left : & Pat , right : & Pat ) -> bool {
143143 match ( & left. node , & right. node ) {
144144 ( & PatKind :: Box ( ref l) , & PatKind :: Box ( ref r) ) => self . eq_pat ( l, r) ,
145- ( & PatKind :: TupleStruct ( ref lp, ref la) , & PatKind :: TupleStruct ( ref rp, ref ra) ) => {
146- self . eq_path ( lp, rp) && both ( la, ra, |l, r| over ( l , r , |l , r| self . eq_pat ( l, r) ) )
145+ ( & PatKind :: TupleStruct ( ref lp, ref la, ls ) , & PatKind :: TupleStruct ( ref rp, ref ra, rs ) ) => {
146+ self . eq_path ( lp, rp) && over ( la, ra, |l, r| self . eq_pat ( l, r) ) && ls == rs
147147 }
148148 ( & PatKind :: Ident ( ref lb, ref li, ref lp) , & PatKind :: Ident ( ref rb, ref ri, ref rp) ) => {
149149 lb == rb && li. node . as_str ( ) == ri. node . as_str ( ) && both ( lp, rp, |l, r| self . eq_pat ( l, r) )
@@ -152,7 +152,7 @@ impl<'a, 'tcx: 'a> SpanlessEq<'a, 'tcx> {
152152 ( & PatKind :: QPath ( ref ls, ref lp) , & PatKind :: QPath ( ref rs, ref rp) ) => {
153153 self . eq_qself ( ls, rs) && self . eq_path ( lp, rp)
154154 }
155- ( & PatKind :: Tup ( ref l) , & PatKind :: Tup ( ref r) ) => over ( l, r, |l, r| self . eq_pat ( l, r) ) ,
155+ ( & PatKind :: Tuple ( ref l, ls ) , & PatKind :: Tuple ( ref r, rs ) ) => ls == rs && over ( l, r, |l, r| self . eq_pat ( l, r) ) ,
156156 ( & PatKind :: Range ( ref ls, ref le) , & PatKind :: Range ( ref rs, ref re) ) => {
157157 self . eq_expr ( ls, rs) && self . eq_expr ( le, re)
158158 }
@@ -374,7 +374,7 @@ impl<'a, 'tcx: 'a> SpanlessHash<'a, 'tcx> {
374374 c. hash ( & mut self . s ) ;
375375 self . hash_block ( b) ;
376376 if let Some ( i) = * i {
377- self . hash_name ( & i) ;
377+ self . hash_name ( & i. node ) ;
378378 }
379379 }
380380 ExprMatch ( ref e, ref arms, ref s) => {
@@ -468,7 +468,7 @@ impl<'a, 'tcx: 'a> SpanlessHash<'a, 'tcx> {
468468 self . hash_expr ( cond) ;
469469 self . hash_block ( b) ;
470470 if let Some ( l) = l {
471- self . hash_name ( & l) ;
471+ self . hash_name ( & l. node ) ;
472472 }
473473 }
474474 }
0 commit comments