Skip to content

Commit 4d78bac

Browse files
committed
Use Idx::index() when comparing elements in bit_set.rs
1 parent 61d5890 commit 4d78bac

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

compiler/rustc_index/src/bit_set.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -590,13 +590,13 @@ impl<T: Idx> SparseBitSet<T> {
590590

591591
fn contains(&self, elem: T) -> bool {
592592
assert!(elem.index() < self.domain_size);
593-
self.elems.contains(&elem)
593+
self.elems.iter().any(|e| elem.index() == e.index())
594594
}
595595

596596
fn insert(&mut self, elem: T) -> bool {
597597
assert!(elem.index() < self.domain_size);
598-
let changed = if let Some(i) = self.elems.iter().position(|&e| e >= elem) {
599-
if self.elems[i] == elem {
598+
let changed = if let Some(i) = self.elems.iter().position(|&e| e.index() >= elem.index()) {
599+
if self.elems[i].index() == elem.index() {
600600
// `elem` is already in the set.
601601
false
602602
} else {
@@ -615,7 +615,7 @@ impl<T: Idx> SparseBitSet<T> {
615615

616616
fn remove(&mut self, elem: T) -> bool {
617617
assert!(elem.index() < self.domain_size);
618-
if let Some(i) = self.elems.iter().position(|&e| e == elem) {
618+
if let Some(i) = self.elems.iter().position(|&e| e.index() == elem.index()) {
619619
self.elems.remove(i);
620620
true
621621
} else {
@@ -1121,7 +1121,7 @@ impl<R: Idx, C: Idx> SparseBitMatrix<R, C> {
11211121
/// `write` can reach everything that `read` can (and
11221122
/// potentially more).
11231123
pub fn union_rows(&mut self, read: R, write: R) -> bool {
1124-
if read == write || self.row(read).is_none() {
1124+
if read.index() == write.index() || self.row(read).is_none() {
11251125
return false;
11261126
}
11271127

0 commit comments

Comments
 (0)