Use Untraceable<T> to hold LayoutDataRef instead of manual Encodable implementation.

This commit is contained in:
Tetsuharu OHZEKI 2014-09-20 00:17:08 +09:00
parent 54d3a0b280
commit de0866ab42
3 changed files with 9 additions and 9 deletions

View file

@ -77,20 +77,20 @@ pub trait LayoutDataAccess {
impl<'ln> LayoutDataAccess for LayoutNode<'ln> {
#[inline(always)]
unsafe fn borrow_layout_data_unchecked(&self) -> *const Option<LayoutDataWrapper> {
mem::transmute(self.get().layout_data.borrow_unchecked())
mem::transmute(self.get().layout_data.deref().borrow_unchecked())
}
#[inline(always)]
fn borrow_layout_data<'a>(&'a self) -> Ref<'a,Option<LayoutDataWrapper>> {
unsafe {
mem::transmute(self.get().layout_data.borrow())
mem::transmute(self.get().layout_data.deref().borrow())
}
}
#[inline(always)]
fn mutate_layout_data<'a>(&'a self) -> RefMut<'a,Option<LayoutDataWrapper>> {
unsafe {
mem::transmute(self.get().layout_data.borrow_mut())
mem::transmute(self.get().layout_data.deref().borrow_mut())
}
}
}