in releases/rust/db_esdk/dafny_runtime_rust/src/lib.rs [1851:1878]
fn partial_cmp(&self, other: &Multiset<V>) -> Option<Ordering> {
match self.cardinality().cmp(&other.cardinality()) {
Ordering::Less => {
for value in self.data.keys() {
if !other.contains(value) || self.get(value) > other.get(value) {
return None;
}
}
Some(Ordering::Less)
}
Ordering::Equal => {
for value in self.data.keys() {
if self.get(value) != other.get(value) {
return None;
}
}
Some(Ordering::Equal)
}
Ordering::Greater => {
for value in other.data.keys() {
if !self.contains(value) || self.get(value) < other.get(value) {
return None;
}
}
Some(Ordering::Greater)
}
}
}