Remove "DerefMut" implementation from Root/JSRef.

This commit is contained in:
Tetsuharu OHZEKI 2014-06-22 20:45:51 +09:00
parent 8ec2017126
commit 7fcade294c

View file

@ -432,12 +432,6 @@ impl<'a, 'b, T: Reflectable> Deref<JSRef<'b, T>> for Root<'a, 'b, T> {
} }
} }
impl<'a, 'b, T: Reflectable> DerefMut<JSRef<'b, T>> for Root<'a, 'b, T> {
fn deref_mut<'c>(&'c mut self) -> &'c mut JSRef<'b, T> {
&mut self.jsref
}
}
impl<'a, T: Reflectable> Deref<T> for JSRef<'a, T> { impl<'a, T: Reflectable> Deref<T> for JSRef<'a, T> {
fn deref<'b>(&'b self) -> &'b T { fn deref<'b>(&'b self) -> &'b T {
unsafe { unsafe {
@ -446,14 +440,6 @@ impl<'a, T: Reflectable> Deref<T> for JSRef<'a, T> {
} }
} }
impl<'a, T: Reflectable> DerefMut<T> for JSRef<'a, T> {
fn deref_mut<'b>(&'b mut self) -> &'b mut T {
unsafe {
&mut *(self.ptr as *mut T)
}
}
}
/// Encapsulates a reference to something that is guaranteed to be alive. This is freely copyable. /// Encapsulates a reference to something that is guaranteed to be alive. This is freely copyable.
pub struct JSRef<'a, T> { pub struct JSRef<'a, T> {
ptr: *T, ptr: *T,