From d5b559c37ca9dbea9dfcb7969bdd96d4a77d7500 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Mon, 7 Mar 2016 14:30:20 +0100 Subject: [PATCH] Bonus fix: Rewrite get_image_or_meta_if_available in an imperative style. I believe this is more readable. --- components/net/image_cache_thread.rs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/components/net/image_cache_thread.rs b/components/net/image_cache_thread.rs index 0e335c7ad99..07868c4a4b3 100644 --- a/components/net/image_cache_thread.rs +++ b/components/net/image_cache_thread.rs @@ -554,12 +554,17 @@ impl ImageCache { } } None => { - self.pending_loads.get_by_url(&url).as_ref(). - map_or(Err(ImageState::NotRequested), |pl| pl.metadata.as_ref(). - map_or(Err(ImageState::Pending), |meta| - Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone())) - ) - ) + let pl = match self.pending_loads.get_by_url(&url) { + Some(pl) => pl, + None => return Err(ImageState::NotRequested), + }; + + let meta = match pl.metadata { + Some(ref meta) => meta, + None => return Err(ImageState::Pending), + }; + + Ok(ImageOrMetadataAvailable::MetadataAvailable(meta.clone())) } } }