@@ -525,45 +525,12 @@ impl<'tcx> CodegenUnit<'tcx> {
525
525
tcx : TyCtxt < ' tcx > ,
526
526
) -> Vec < ( MonoItem < ' tcx > , MonoItemData ) > {
527
527
// The codegen tests rely on items being process in the same order as
528
- // they appear in the file, so for local items, we sort by node_id first
528
+ // they appear in the file, so for local items, we sort by span first
529
529
#[ derive( PartialEq , Eq , PartialOrd , Ord , Debug ) ]
530
530
struct ItemSortKey < ' tcx > ( Option < Span > , SymbolName < ' tcx > ) ;
531
531
532
532
fn item_sort_key < ' tcx > ( tcx : TyCtxt < ' tcx > , item : MonoItem < ' tcx > ) -> ItemSortKey < ' tcx > {
533
- ItemSortKey (
534
- match item {
535
- MonoItem :: Fn ( ref instance) => {
536
- match instance. def {
537
- // We only want to take HirIds of user-defined
538
- // instances into account. The others don't matter for
539
- // the codegen tests and can even make item order
540
- // unstable.
541
- InstanceKind :: Item ( def) => {
542
- def. as_local ( ) . map ( |def_id| tcx. def_span ( def_id) )
543
- }
544
- InstanceKind :: VTableShim ( ..)
545
- | InstanceKind :: ReifyShim ( ..)
546
- | InstanceKind :: Intrinsic ( ..)
547
- | InstanceKind :: FnPtrShim ( ..)
548
- | InstanceKind :: Virtual ( ..)
549
- | InstanceKind :: ClosureOnceShim { .. }
550
- | InstanceKind :: ConstructCoroutineInClosureShim { .. }
551
- | InstanceKind :: DropGlue ( ..)
552
- | InstanceKind :: CloneShim ( ..)
553
- | InstanceKind :: ThreadLocalShim ( ..)
554
- | InstanceKind :: FnPtrAddrShim ( ..)
555
- | InstanceKind :: AsyncDropGlue ( ..)
556
- | InstanceKind :: FutureDropPollShim ( ..)
557
- | InstanceKind :: AsyncDropGlueCtorShim ( ..) => None ,
558
- }
559
- }
560
- MonoItem :: Static ( def_id) => {
561
- def_id. as_local ( ) . map ( |def_id| tcx. def_span ( def_id) )
562
- }
563
- MonoItem :: GlobalAsm ( item_id) => Some ( tcx. def_span ( item_id. owner_id . def_id ) ) ,
564
- } ,
565
- item. symbol_name ( tcx) ,
566
- )
533
+ ItemSortKey ( item. local_span ( tcx) , item. symbol_name ( tcx) )
567
534
}
568
535
569
536
let mut items: Vec < _ > = self . items ( ) . iter ( ) . map ( |( & i, & data) | ( i, data) ) . collect ( ) ;
0 commit comments