Auto merge of #83599 - jyn514:unorderable, r=Aaron1011
Avoid sorting by DefId for `necessary_variants()` Follow-up to https://github.com/rust-lang/rust/pull/83074. Originally I tried removing `impl Ord for DefId` but that hit *lots* of errors 😅 so I thought I would start with easy things. I am not sure whether this could actually cause invalid query results, but this is used from `MarkSymbolVisitor::visit_arm` so it's at least feasible. r? `@Aaron1011`
This commit is contained in:
commit
cb17136405
1 changed files with 5 additions and 2 deletions
|
@ -1,6 +1,7 @@
|
|||
use crate::def::{CtorOf, DefKind, Res};
|
||||
use crate::def_id::DefId;
|
||||
use crate::hir::{self, HirId, PatKind};
|
||||
use rustc_data_structures::stable_set::FxHashSet;
|
||||
use rustc_span::symbol::Ident;
|
||||
use rustc_span::Span;
|
||||
|
||||
|
@ -118,8 +119,10 @@ impl hir::Pat<'_> {
|
|||
}
|
||||
_ => true,
|
||||
});
|
||||
variants.sort();
|
||||
variants.dedup();
|
||||
// We remove duplicates by inserting into a `FxHashSet` to avoid re-ordering
|
||||
// the bounds
|
||||
let mut duplicates = FxHashSet::default();
|
||||
variants.retain(|def_id| duplicates.insert(*def_id));
|
||||
variants
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue