@@ -229,17 +229,26 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
229229 match ( l, r) {
230230 ( ExternCrate ( l) , ExternCrate ( r) ) => l == r,
231231 ( Use ( l) , Use ( r) ) => eq_use_tree ( l, r) ,
232- ( Static ( lt, lm, le) , Static ( rt, rm, re) ) => lm == rm && eq_ty ( lt, rt) && eq_expr_opt ( le, re) ,
233- ( Const ( ld, lt, le) , Const ( rd, rt, re) ) => eq_defaultness ( * ld, * rd) && eq_ty ( lt, rt) && eq_expr_opt ( le, re) ,
234- ( Fn ( ld, lf, lg, lb) , Fn ( rd, rf, rg, rb) ) => {
235- eq_defaultness ( * ld, * rd) && eq_fn_sig ( lf, rf) && eq_generics ( lg, rg) && both ( lb, rb, |l, r| eq_block ( l, r) )
236- } ,
237- ( Mod ( l) , Mod ( r) ) => l. inline == r. inline && over ( & l. items , & r. items , |l, r| eq_item ( l, r, eq_item_kind) ) ,
232+ ( Static ( lt, lm, le) , Static ( rt, rm, re) ) => {
233+ lm == rm && eq_ty ( lt, rt) && eq_expr_opt ( le, re)
234+ }
235+ ( Const ( ld, lt, le) , Const ( rd, rt, re) ) => {
236+ eq_defaultness ( * ld, * rd) && eq_ty ( lt, rt) && eq_expr_opt ( le, re)
237+ }
238+ ( Fn ( box FnKind ( ld, lf, lg, lb) ) , Fn ( box FnKind ( rd, rf, rg, rb) ) ) => {
239+ eq_defaultness ( * ld, * rd)
240+ && eq_fn_sig ( lf, rf)
241+ && eq_generics ( lg, rg)
242+ && both ( lb, rb, |l, r| eq_block ( l, r) )
243+ }
244+ ( Mod ( l) , Mod ( r) ) => {
245+ l. inline == r. inline && over ( & l. items , & r. items , |l, r| eq_item ( l, r, eq_item_kind) )
246+ }
238247 ( ForeignMod ( l) , ForeignMod ( r) ) => {
239248 both ( & l. abi , & r. abi , |l, r| eq_str_lit ( l, r) )
240249 && over ( & l. items , & r. items , |l, r| eq_item ( l, r, eq_foreign_item_kind) )
241- } ,
242- ( TyAlias ( ld, lg, lb, lt) , TyAlias ( rd, rg, rb, rt) ) => {
250+ }
251+ ( TyAlias ( box TyAliasKind ( ld, lg, lb, lt) ) , TyAlias ( box TyAliasKind ( rd, rg, rb, rt) ) ) => {
243252 eq_defaultness ( * ld, * rd)
244253 && eq_generics ( lg, rg)
245254 && over ( lb, rb, |l, r| eq_generic_bound ( l, r) )
@@ -250,8 +259,8 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
250259 } ,
251260 ( Struct ( lv, lg) , Struct ( rv, rg) ) | ( Union ( lv, lg) , Union ( rv, rg) ) => {
252261 eq_variant_data ( lv, rv) && eq_generics ( lg, rg)
253- } ,
254- ( Trait ( la, lu, lg, lb, li) , Trait ( ra, ru, rg, rb, ri) ) => {
262+ }
263+ ( Trait ( box TraitKind ( la, lu, lg, lb, li) ) , Trait ( box TraitKind ( ra, ru, rg, rb, ri) ) ) => {
255264 la == ra
256265 && matches ! ( lu, Unsafe :: No ) == matches ! ( ru, Unsafe :: No )
257266 && eq_generics ( lg, rg)
@@ -260,7 +269,7 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
260269 } ,
261270 ( TraitAlias ( lg, lb) , TraitAlias ( rg, rb) ) => eq_generics ( lg, rg) && over ( lb, rb, |l, r| eq_generic_bound ( l, r) ) ,
262271 (
263- Impl {
272+ Impl ( box ImplKind {
264273 unsafety : lu,
265274 polarity : lp,
266275 defaultness : ld,
@@ -269,8 +278,8 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
269278 of_trait : lot,
270279 self_ty : lst,
271280 items : li,
272- } ,
273- Impl {
281+ } ) ,
282+ Impl ( box ImplKind {
274283 unsafety : ru,
275284 polarity : rp,
276285 defaultness : rd,
@@ -279,7 +288,7 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
279288 of_trait : rot,
280289 self_ty : rst,
281290 items : ri,
282- } ,
291+ } ) ,
283292 ) => {
284293 matches ! ( lu, Unsafe :: No ) == matches ! ( ru, Unsafe :: No )
285294 && matches ! ( lp, ImplPolarity :: Positive ) == matches ! ( rp, ImplPolarity :: Positive )
@@ -299,11 +308,16 @@ pub fn eq_item_kind(l: &ItemKind, r: &ItemKind) -> bool {
299308pub fn eq_foreign_item_kind ( l : & ForeignItemKind , r : & ForeignItemKind ) -> bool {
300309 use ForeignItemKind :: * ;
301310 match ( l, r) {
302- ( Static ( lt, lm, le) , Static ( rt, rm, re) ) => lm == rm && eq_ty ( lt, rt) && eq_expr_opt ( le, re) ,
303- ( Fn ( ld, lf, lg, lb) , Fn ( rd, rf, rg, rb) ) => {
304- eq_defaultness ( * ld, * rd) && eq_fn_sig ( lf, rf) && eq_generics ( lg, rg) && both ( lb, rb, |l, r| eq_block ( l, r) )
305- } ,
306- ( TyAlias ( ld, lg, lb, lt) , TyAlias ( rd, rg, rb, rt) ) => {
311+ ( Static ( lt, lm, le) , Static ( rt, rm, re) ) => {
312+ lm == rm && eq_ty ( lt, rt) && eq_expr_opt ( le, re)
313+ }
314+ ( Fn ( box FnKind ( ld, lf, lg, lb) ) , Fn ( box FnKind ( rd, rf, rg, rb) ) ) => {
315+ eq_defaultness ( * ld, * rd)
316+ && eq_fn_sig ( lf, rf)
317+ && eq_generics ( lg, rg)
318+ && both ( lb, rb, |l, r| eq_block ( l, r) )
319+ }
320+ ( TyAlias ( box TyAliasKind ( ld, lg, lb, lt) ) , TyAlias ( box TyAliasKind ( rd, rg, rb, rt) ) ) => {
307321 eq_defaultness ( * ld, * rd)
308322 && eq_generics ( lg, rg)
309323 && over ( lb, rb, |l, r| eq_generic_bound ( l, r) )
@@ -317,11 +331,16 @@ pub fn eq_foreign_item_kind(l: &ForeignItemKind, r: &ForeignItemKind) -> bool {
317331pub fn eq_assoc_item_kind ( l : & AssocItemKind , r : & AssocItemKind ) -> bool {
318332 use AssocItemKind :: * ;
319333 match ( l, r) {
320- ( Const ( ld, lt, le) , Const ( rd, rt, re) ) => eq_defaultness ( * ld, * rd) && eq_ty ( lt, rt) && eq_expr_opt ( le, re) ,
321- ( Fn ( ld, lf, lg, lb) , Fn ( rd, rf, rg, rb) ) => {
322- eq_defaultness ( * ld, * rd) && eq_fn_sig ( lf, rf) && eq_generics ( lg, rg) && both ( lb, rb, |l, r| eq_block ( l, r) )
323- } ,
324- ( TyAlias ( ld, lg, lb, lt) , TyAlias ( rd, rg, rb, rt) ) => {
334+ ( Const ( ld, lt, le) , Const ( rd, rt, re) ) => {
335+ eq_defaultness ( * ld, * rd) && eq_ty ( lt, rt) && eq_expr_opt ( le, re)
336+ }
337+ ( Fn ( box FnKind ( ld, lf, lg, lb) ) , Fn ( box FnKind ( rd, rf, rg, rb) ) ) => {
338+ eq_defaultness ( * ld, * rd)
339+ && eq_fn_sig ( lf, rf)
340+ && eq_generics ( lg, rg)
341+ && both ( lb, rb, |l, r| eq_block ( l, r) )
342+ }
343+ ( TyAlias ( box TyAliasKind ( ld, lg, lb, lt) ) , TyAlias ( box TyAliasKind ( rd, rg, rb, rt) ) ) => {
325344 eq_defaultness ( * ld, * rd)
326345 && eq_generics ( lg, rg)
327346 && over ( lb, rb, |l, r| eq_generic_bound ( l, r) )
0 commit comments