mirror of
https://github.com/servo/servo.git
synced 2025-08-04 13:10:20 +01:00
Stop using mem::transmute_copy.
This commit is contained in:
parent
c46003eb05
commit
5ae29b02b6
2 changed files with 10 additions and 5 deletions
|
@ -126,7 +126,10 @@ impl<T: Castable> LayoutJS<T> {
|
||||||
T: DerivedFrom<U>
|
T: DerivedFrom<U>
|
||||||
{
|
{
|
||||||
debug_assert!(thread_state::get().is_layout());
|
debug_assert!(thread_state::get().is_layout());
|
||||||
unsafe { mem::transmute_copy(self) }
|
let ptr: *const T = *self.ptr;
|
||||||
|
LayoutJS {
|
||||||
|
ptr: unsafe { NonZero::new(ptr as *const U) },
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Cast a DOM object downwards to one of the interfaces it might implement.
|
/// Cast a DOM object downwards to one of the interfaces it might implement.
|
||||||
|
@ -136,7 +139,10 @@ impl<T: Castable> LayoutJS<T> {
|
||||||
debug_assert!(thread_state::get().is_layout());
|
debug_assert!(thread_state::get().is_layout());
|
||||||
unsafe {
|
unsafe {
|
||||||
if (*self.unsafe_get()).is::<U>() {
|
if (*self.unsafe_get()).is::<U>() {
|
||||||
Some(mem::transmute_copy(self))
|
let ptr: *const T = *self.ptr;
|
||||||
|
Some(LayoutJS {
|
||||||
|
ptr: NonZero::new(ptr as *const U),
|
||||||
|
})
|
||||||
} else {
|
} else {
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ use selectors::matching::ElementFlags;
|
||||||
use selectors::parser::{AttrSelector, NamespaceConstraint};
|
use selectors::parser::{AttrSelector, NamespaceConstraint};
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
use std::mem::{transmute, transmute_copy};
|
use std::mem::transmute;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use string_cache::{Atom, Namespace};
|
use string_cache::{Atom, Namespace};
|
||||||
use style::attr::AttrValue;
|
use style::attr::AttrValue;
|
||||||
|
@ -119,8 +119,7 @@ impl<'ln> TNode for ServoLayoutNode<'ln> {
|
||||||
|
|
||||||
fn to_unsafe(&self) -> UnsafeNode {
|
fn to_unsafe(&self) -> UnsafeNode {
|
||||||
unsafe {
|
unsafe {
|
||||||
let ptr: usize = transmute_copy(self);
|
(self.node.unsafe_get() as usize, 0)
|
||||||
(ptr, 0)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue