Remove some transmute calls.

This commit is contained in:
Ms2ger 2014-12-27 17:07:32 +01:00
parent 9857ea26cb
commit 0031498e6b
2 changed files with 3 additions and 3 deletions

View file

@ -460,7 +460,7 @@ impl<'ln> PrivateMatchMethods for LayoutNode<'ln> {
}; };
let parent_layout_data: &Option<LayoutDataWrapper> = unsafe { let parent_layout_data: &Option<LayoutDataWrapper> = unsafe {
mem::transmute(parent_node.borrow_layout_data_unchecked()) &*parent_node.borrow_layout_data_unchecked()
}; };
match parent_layout_data { match parent_layout_data {
&Some(ref parent_layout_data_ref) => { &Some(ref parent_layout_data_ref) => {

View file

@ -226,8 +226,8 @@ pub trait RawLayoutElementHelpers {
#[inline] #[inline]
unsafe fn get_attr_for_layout<'a>(elem: &'a Element, namespace: &Namespace, name: &Atom) -> Option<&'a JS<Attr>> { unsafe fn get_attr_for_layout<'a>(elem: &'a Element, namespace: &Namespace, name: &Atom) -> Option<&'a JS<Attr>> {
// cast to point to T in RefCell<T> directly // cast to point to T in RefCell<T> directly
let attrs: *const Vec<JS<Attr>> = mem::transmute(&elem.attrs); let attrs = elem.attrs.borrow_for_layout();
(*attrs).iter().find(|attr: & &JS<Attr>| { attrs.iter().find(|attr: & &JS<Attr>| {
let attr = attr.unsafe_get(); let attr = attr.unsafe_get();
*name == (*attr).local_name_atom_forever() && *name == (*attr).local_name_atom_forever() &&
(*attr).namespace() == namespace (*attr).namespace() == namespace