.collect();
// ensure that we issue lints in a repeatable order
- def_ids.sort_by_key(|&def_id| self.tcx.def_path_hash(def_id));
+ def_ids.sort_by_cached_key(|&def_id| self.tcx.def_path_hash(def_id));
for def_id in def_ids {
debug!(
.collect::<Vec<_>>();
// existential predicates need to be in a specific order
- associated_types.sort_by_key(|item| self.def_path_hash(item.def_id));
+ associated_types.sort_by_cached_key(|item| self.def_path_hash(item.def_id));
let projection_predicates = associated_types.into_iter().map(|item| {
ty::ExistentialPredicate::Projection(ty::ExistentialProjection {
output.push_str(" @@");
let mut empty = Vec::new();
let cgus = item_to_cgus.get_mut(i).unwrap_or(&mut empty);
- cgus.as_mut_slice().sort_by_key(|&(ref name, _)| name.clone());
+ cgus.as_mut_slice().sort_by_cached_key(|&(ref name, _)| name.clone());
cgus.dedup();
for &(ref cgu_name, (linkage, _)) in cgus.iter() {
output.push_str(" ");