fix for MapIndexesMetadata (#1008)

Co-authored-by: Andrea Fioraldi <andreafioraldi@gmail.com>
This commit is contained in:
Addison Crump 2023-01-23 15:08:33 +01:00 committed by GitHub
parent fe51286586
commit 00ec7e143c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -526,21 +526,22 @@ where
let initial = observer.initial();
if interesting {
let len = history_map.len();
let mut filled = 0;
for i in 0..len {
if history_map[i] != initial {
filled += 1;
if self.indexes.is_some() {
self.indexes.as_mut().unwrap().push(i);
}
}
if let Some(indexes) = self.indexes.as_mut() {
indexes.extend(
observer
.as_iter()
.enumerate()
.filter_map(|(i, &e)| (e != initial).then_some(i)),
);
}
let len = history_map.len();
let filled = history_map.iter().filter(|&&i| i != initial).count();
manager.fire(
state,
Event::UpdateUserStats {
name: self.stats_name.to_string(),
value: UserStats::Ratio(filled, len as u64),
value: UserStats::Ratio(filled as u64, len as u64),
phantom: PhantomData,
},
)?;
@ -700,21 +701,22 @@ where
let initial = observer.initial();
if interesting {
let len = history_map.len();
let mut filled = 0;
for i in 0..len {
if history_map[i] != initial {
filled += 1;
if self.indexes.is_some() {
self.indexes.as_mut().unwrap().push(i);
}
}
if let Some(indexes) = self.indexes.as_mut() {
indexes.extend(
observer
.as_iter()
.enumerate()
.filter_map(|(i, &e)| (e != initial).then_some(i)),
);
}
let len = history_map.len();
let filled = history_map.iter().filter(|&&i| i != initial).count();
manager.fire(
state,
Event::UpdateUserStats {
name: self.stats_name.to_string(),
value: UserStats::Ratio(filled, len as u64),
value: UserStats::Ratio(filled as u64, len as u64),
phantom: PhantomData,
},
)?;