Bonus fix: Rewrite get_image_or_meta_if_available in an imperative style.

I believe this is more readable.
This commit is contained in:
Ms2ger 2016-03-07 14:30:20 +01:00
parent 1064c3dca0
commit d5b559c37c

View file

@ -554,12 +554,17 @@ impl ImageCache {
} }
} }
None => { None => {
self.pending_loads.get_by_url(&url).as_ref(). let pl = match self.pending_loads.get_by_url(&url) {
map_or(Err(ImageState::NotRequested), |pl| pl.metadata.as_ref(). Some(pl) => pl,
map_or(Err(ImageState::Pending), |meta| None => return Err(ImageState::NotRequested),
Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone())) };
)
) let meta = match pl.metadata {
Some(ref meta) => meta,
None => return Err(ImageState::Pending),
};
Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone()))
} }
} }
} }