From 94f0478f5151d370399c58868ef2bd98639bc405 Mon Sep 17 00:00:00 2001 From: Corey Farwell Date: Thu, 12 Nov 2015 00:03:53 -0500 Subject: [PATCH] Simplify IterablePage::find --- components/script/page.rs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/components/script/page.rs b/components/script/page.rs index 67cb1ca46ed..653efe700b9 100644 --- a/components/script/page.rs +++ b/components/script/page.rs @@ -43,12 +43,14 @@ impl IterablePage for Rc { } } fn find(&self, id: PipelineId) -> Option> { - if self.id == id { return Some(self.clone()); } - for page in &*self.children.borrow() { - let found = page.find(id); - if found.is_some() { return found; } + if self.id == id { + return Some(self.clone()); } - None + + self.children.borrow() + .iter() + .filter_map(|p| p.find(id)) + .next() } }