diff options
| author | varkor <github@varkor.com> | 2018-04-01 13:28:47 +0100 |
|---|---|---|
| committer | varkor <github@varkor.com> | 2018-04-09 16:45:14 +0100 |
| commit | e7aa1397ea901e50cc3427d8db44c0b387253bba (patch) | |
| tree | 9ff77314eed7ee262c7a356a30dbe78498b290f5 | |
| parent | 2cc52f08b30642cf995fc39ceb5f3e4741a3dee3 (diff) | |
| download | rust-e7aa1397ea901e50cc3427d8db44c0b387253bba.tar.gz rust-e7aa1397ea901e50cc3427d8db44c0b387253bba.zip | |
Use sort_by_cached_key for partitioning
| -rw-r--r-- | src/librustc_mir/monomorphize/partitioning.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/librustc_mir/monomorphize/partitioning.rs b/src/librustc_mir/monomorphize/partitioning.rs index f914176864a..f29f86af4ab 100644 --- a/src/librustc_mir/monomorphize/partitioning.rs +++ b/src/librustc_mir/monomorphize/partitioning.rs @@ -189,11 +189,9 @@ pub trait CodegenUnitExt<'tcx> { }, item.symbol_name(tcx)) } - let items: Vec<_> = self.items().iter().map(|(&i, &l)| (i, l)).collect(); - let mut items : Vec<_> = items.iter() - .map(|il| (il, item_sort_key(tcx, il.0))).collect(); - items.sort_by(|&(_, ref key1), &(_, ref key2)| key1.cmp(key2)); - items.into_iter().map(|(&item_linkage, _)| item_linkage).collect() + let mut items: Vec<_> = self.items().iter().map(|(&i, &l)| (i, l)).collect(); + items.sort_by_cached_key(|&(i, _)| item_sort_key(tcx, i)); + items } } |
