From be9618d55bd48be45e55b2c49d0df12f953f1fe5 Mon Sep 17 00:00:00 2001 From: Cameron Zwarich Date: Tue, 30 Sep 2014 20:33:40 -0700 Subject: [PATCH] Add a lifetime parameter to the ElementHelper trait This refines the lifetime used in get_local_name / get_namespace and makes it independent of the lifetime on the &self parameter. --- components/script/dom/element.rs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index c734ad89161b..821ac1f99094 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -237,26 +237,26 @@ impl LayoutElementHelpers for JS { } } -pub trait ElementHelpers { +pub trait ElementHelpers<'a> { fn html_element_in_html_document(self) -> bool; - fn get_local_name<'a>(&'a self) -> &'a Atom; - fn get_namespace<'a>(&'a self) -> &'a Namespace; + fn get_local_name(&self) -> &'a Atom; + fn get_namespace(&self) -> &'a Namespace; fn summarize(self) -> Vec; fn is_void(self) -> bool; } -impl<'a> ElementHelpers for JSRef<'a, Element> { +impl<'a> ElementHelpers<'a> for JSRef<'a, Element> { fn html_element_in_html_document(self) -> bool { let node: JSRef = NodeCast::from_ref(self); self.namespace == ns!(HTML) && node.is_in_html_doc() } - fn get_local_name<'a>(&'a self) -> &'a Atom { - &self.deref().local_name + fn get_local_name(&self) -> &'a Atom { + &self.extended_deref().local_name } - fn get_namespace<'a>(&'a self) -> &'a Namespace { - &self.deref().namespace + fn get_namespace(&self) -> &'a Namespace { + &self.extended_deref().namespace } fn summarize(self) -> Vec {