diff options
author | Anthony Ramine <nox@nox.paris> | 2020-03-31 13:54:52 +0200 |
---|---|---|
committer | Anthony Ramine <nox@nox.paris> | 2020-03-31 13:54:52 +0200 |
commit | 4c16729a01999978326e21f9b2e69de764938792 (patch) | |
tree | 19da03b0b2dc9d6611d489d9d1b0bf706541eb77 /components/script/dom/attr.rs | |
parent | f9e7c6b9dc65fc178ef5e7e516bd777ef3bb5052 (diff) | |
download | servo-4c16729a01999978326e21f9b2e69de764938792.tar.gz servo-4c16729a01999978326e21f9b2e69de764938792.zip |
Make AttrHelpersForLayout methods be safe
The unsafety isn't there, it's in the creation of the LayoutDom<T> values.
Diffstat (limited to 'components/script/dom/attr.rs')
-rw-r--r-- | components/script/dom/attr.rs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index cea5df2abf5..b8633619bbb 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -234,26 +234,26 @@ impl Attr { #[allow(unsafe_code)] pub trait AttrHelpersForLayout<'dom> { - unsafe fn value(self) -> &'dom AttrValue; - unsafe fn value_ref_forever(self) -> &'dom str; - unsafe fn value_tokens(self) -> Option<&'dom [Atom]>; - unsafe fn local_name_atom(self) -> LocalName; + fn value(self) -> &'dom AttrValue; + fn value_ref_forever(self) -> &'dom str; + fn value_tokens(self) -> Option<&'dom [Atom]>; + fn local_name_atom(self) -> LocalName; } #[allow(unsafe_code)] impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { #[inline] - unsafe fn value(self) -> &'dom AttrValue { - (*self.unsafe_get()).value.borrow_for_layout() + fn value(self) -> &'dom AttrValue { + unsafe { self.unsafe_get().value.borrow_for_layout() } } #[inline] - unsafe fn value_ref_forever(self) -> &'dom str { + fn value_ref_forever(self) -> &'dom str { &**self.value() } #[inline] - unsafe fn value_tokens(self) -> Option<&'dom [Atom]> { + fn value_tokens(self) -> Option<&'dom [Atom]> { // This transmute is used to cheat the lifetime restriction. match *self.value() { AttrValue::TokenList(_, ref tokens) => Some(tokens), @@ -262,7 +262,7 @@ impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { } #[inline] - unsafe fn local_name_atom(self) -> LocalName { - (*self.unsafe_get()).identifier.local_name.clone() + fn local_name_atom(self) -> LocalName { + unsafe { self.unsafe_get().identifier.local_name.clone() } } } |