chore: `.filter_map(..).next()` -> `.find_map(..)`

Per the rust-analyzer diagnostic: https://rust-analyzer.github.io/manual.html#replace-filter-map-next-with-find-map
This commit is contained in:
relrelb 2022-04-30 11:23:08 +03:00 committed by Mike Welsh
parent 1eb06908c8
commit babf49aaf9
2 changed files with 19 additions and 32 deletions

View File

@ -55,30 +55,22 @@ impl<'gc, V> PropertyMap<'gc, V> {
} }
pub fn get(&self, name: QName<'gc>) -> Option<&V> { pub fn get(&self, name: QName<'gc>) -> Option<&V> {
self.0 self.0.get(&name.local_name()).iter().find_map(|v| {
.get(&name.local_name()) v.iter()
.iter() .filter(|(n, _)| *n == name.namespace())
.filter_map(|v| { .map(|(_, v)| v)
v.iter() .next()
.filter(|(n, _)| *n == name.namespace()) })
.map(|(_, v)| v)
.next()
})
.next()
} }
pub fn get_for_multiname(&self, name: &Multiname<'gc>) -> Option<&V> { pub fn get_for_multiname(&self, name: &Multiname<'gc>) -> Option<&V> {
if let Some(local_name) = name.local_name() { if let Some(local_name) = name.local_name() {
self.0 self.0.get(&local_name).iter().find_map(|v| {
.get(&local_name) v.iter()
.iter() .filter(|(n, _)| name.namespace_set().any(|ns| *ns == *n))
.filter_map(|v| { .map(|(_, v)| v)
v.iter() .next()
.filter(|(n, _)| name.namespace_set().any(|ns| *ns == *n)) })
.map(|(_, v)| v)
.next()
})
.next()
} else { } else {
None None
} }
@ -86,16 +78,12 @@ impl<'gc, V> PropertyMap<'gc, V> {
pub fn get_with_ns_for_multiname(&self, name: &Multiname<'gc>) -> Option<(Namespace<'gc>, &V)> { pub fn get_with_ns_for_multiname(&self, name: &Multiname<'gc>) -> Option<(Namespace<'gc>, &V)> {
if let Some(local_name) = name.local_name() { if let Some(local_name) = name.local_name() {
self.0 self.0.get(&local_name).iter().find_map(|v| {
.get(&local_name) v.iter()
.iter() .filter(|(n, _)| name.namespace_set().any(|ns| *ns == *n))
.filter_map(|v| { .map(|(ns, v)| (*ns, v))
v.iter() .next()
.filter(|(n, _)| name.namespace_set().any(|ns| *ns == *n)) })
.map(|(ns, v)| (*ns, v))
.next()
})
.next()
} else { } else {
None None
} }

View File

@ -461,7 +461,7 @@ impl<'gc> AudioManager<'gc> {
.sounds .sounds
.iter() .iter()
.enumerate() .enumerate()
.filter_map(|(i, instance)| { .find_map(|(i, instance)| {
let start_frame = instance.stream_start_frame?; let start_frame = instance.stream_start_frame?;
let clip = instance let clip = instance
.display_object .display_object
@ -476,7 +476,6 @@ impl<'gc> AudioManager<'gc> {
+ offset_ms / 1000.0; + offset_ms / 1000.0;
Some((i, stream_pos / 1000.0 - timeline_pos)) Some((i, stream_pos / 1000.0 - timeline_pos))
}) })
.next()
.unwrap_or_default(); .unwrap_or_default();
if skew.abs() >= Self::STREAM_RESTART_THRESHOLD { if skew.abs() >= Self::STREAM_RESTART_THRESHOLD {