diff options
| author | ljedrz <ljedrz@gmail.com> | 2018-07-25 10:36:57 +0200 |
|---|---|---|
| committer | ljedrz <ljedrz@gmail.com> | 2018-07-25 12:13:02 +0200 |
| commit | f653bf4fba40c6415b6f580c30fbcfe2e82cce62 (patch) | |
| tree | abcbdc4a509699c1c3ba0c2e53c43898767fc69b /src | |
| parent | 13985724033467ab86da9136c43fe242092b294e (diff) | |
| download | rust-f653bf4fba40c6415b6f580c30fbcfe2e82cce62.tar.gz rust-f653bf4fba40c6415b6f580c30fbcfe2e82cce62.zip | |
Improve readability in a few sorts
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustc_driver/lib.rs | 5 | ||||
| -rw-r--r-- | src/librustc_driver/profile/trace.rs | 5 | ||||
| -rw-r--r-- | src/librustc_errors/emitter.rs | 8 | ||||
| -rw-r--r-- | src/librustc_mir/monomorphize/mod.rs | 4 | ||||
| -rw-r--r-- | src/librustc_mir/util/patch.rs | 2 | ||||
| -rw-r--r-- | src/librustc_typeck/collect.rs | 2 |
6 files changed, 9 insertions, 17 deletions
diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs index 2100ceea228..000025c49a6 100644 --- a/src/librustc_driver/lib.rs +++ b/src/librustc_driver/lib.rs @@ -1229,10 +1229,7 @@ Available lint options: fn sort_lint_groups(lints: Vec<(&'static str, Vec<lint::LintId>, bool)>) -> Vec<(&'static str, Vec<lint::LintId>)> { let mut lints: Vec<_> = lints.into_iter().map(|(x, y, _)| (x, y)).collect(); - lints.sort_by(|&(x, _): &(&'static str, Vec<lint::LintId>), - &(y, _): &(&'static str, Vec<lint::LintId>)| { - x.cmp(y) - }); + lints.sort_by_key(|ref l| l.0); lints } diff --git a/src/librustc_driver/profile/trace.rs b/src/librustc_driver/profile/trace.rs index 5f10c56e8e2..4aaf5eb47f6 100644 --- a/src/librustc_driver/profile/trace.rs +++ b/src/librustc_driver/profile/trace.rs @@ -202,14 +202,13 @@ fn compute_counts_rec(counts: &mut HashMap<String,QueryMetric>, traces: &Vec<Rec pub fn write_counts(count_file: &mut File, counts: &mut HashMap<String,QueryMetric>) { use rustc::util::common::duration_to_secs_str; - use std::cmp::Ordering; + use std::cmp::Reverse; let mut data = vec![]; for (ref cons, ref qm) in counts.iter() { data.push((cons.clone(), qm.count.clone(), qm.dur_total.clone(), qm.dur_self.clone())); }; - data.sort_by(|&(_,_,_,self1),&(_,_,_,self2)| - if self1 > self2 { Ordering::Less } else { Ordering::Greater } ); + data.sort_by_key(|&k| Reverse(k.3)); for (cons, count, dur_total, dur_self) in data { write!(count_file, "{}, {}, {}, {}\n", cons, count, diff --git a/src/librustc_errors/emitter.rs b/src/librustc_errors/emitter.rs index c9b6818d5c1..6bcf0d9eff6 100644 --- a/src/librustc_errors/emitter.rs +++ b/src/librustc_errors/emitter.rs @@ -22,7 +22,7 @@ use std::borrow::Cow; use std::io::prelude::*; use std::io; use std::collections::HashMap; -use std::cmp::min; +use std::cmp::{min, Reverse}; use termcolor::{StandardStream, ColorChoice, ColorSpec, BufferWriter}; use termcolor::{WriteColor, Color, Buffer}; use unicode_width; @@ -265,9 +265,7 @@ impl EmitterWriter { } // Find overlapping multiline annotations, put them at different depths - multiline_annotations.sort_by(|a, b| { - (a.1.line_start, a.1.line_end).cmp(&(b.1.line_start, b.1.line_end)) - }); + multiline_annotations.sort_by_key(|&(_, ref ml)| (ml.line_start, ml.line_end)); for item in multiline_annotations.clone() { let ann = item.1; for item in multiline_annotations.iter_mut() { @@ -403,7 +401,7 @@ impl EmitterWriter { // otherwise the lines would end up needing to go over a message. let mut annotations = line.annotations.clone(); - annotations.sort_by(|a,b| b.start_col.cmp(&a.start_col)); + annotations.sort_by_key(|a| Reverse(a.start_col)); // First, figure out where each label will be positioned. // diff --git a/src/librustc_mir/monomorphize/mod.rs b/src/librustc_mir/monomorphize/mod.rs index bf544e5120c..e148bc3d946 100644 --- a/src/librustc_mir/monomorphize/mod.rs +++ b/src/librustc_mir/monomorphize/mod.rs @@ -29,9 +29,7 @@ pub fn assert_symbols_are_distinct<'a, 'tcx, I>(tcx: TyCtxt<'a, 'tcx, 'tcx>, mon (mono_item, mono_item.symbol_name(tcx)) }).collect(); - (&mut symbols[..]).sort_by(|&(_, ref sym1), &(_, ref sym2)|{ - sym1.cmp(sym2) - }); + (&mut symbols[..]).sort_by_key(|&sym| sym.1); for pair in (&symbols[..]).windows(2) { let sym1 = &pair[0].1; diff --git a/src/librustc_mir/util/patch.rs b/src/librustc_mir/util/patch.rs index 21ff7eaa72d..c2a56adc18f 100644 --- a/src/librustc_mir/util/patch.rs +++ b/src/librustc_mir/util/patch.rs @@ -156,7 +156,7 @@ impl<'tcx> MirPatch<'tcx> { } let mut new_statements = self.new_statements; - new_statements.sort_by(|u,v| u.0.cmp(&v.0)); + new_statements.sort_by_key(|s| s.0); let mut delta = 0; let mut last_bb = START_BLOCK; diff --git a/src/librustc_typeck/collect.rs b/src/librustc_typeck/collect.rs index 5193113d82c..60f89282551 100644 --- a/src/librustc_typeck/collect.rs +++ b/src/librustc_typeck/collect.rs @@ -1746,7 +1746,7 @@ pub fn compute_bounds<'gcx: 'tcx, 'tcx>(astconv: &dyn AstConv<'gcx, 'tcx>, astconv.ast_region_to_region(r, None) }).collect(); - trait_bounds.sort_by(|a,b| a.def_id().cmp(&b.def_id())); + trait_bounds.sort_by_key(|t| t.def_id()); let implicitly_sized = if let SizedByDefault::Yes = sized_by_default { !is_unsized(astconv, ast_bounds, span) |
