mirror of
https://github.com/servo/servo.git
synced 2025-06-22 16:18:59 +01:00
Introduce mutable/immutable variants of reflector() with named lifetimes, and kill unsafe casts.
This commit is contained in:
parent
e6be738d97
commit
c4bbc4cd37
24 changed files with 158 additions and 87 deletions
|
@ -9,8 +9,6 @@ use script_task::page_from_context;
|
|||
use js::glue::RUST_OBJECT_TO_JSVAL;
|
||||
use js::jsapi::{JSObject, JSContext, JSVal};
|
||||
|
||||
use std::cast;
|
||||
|
||||
pub struct EventTarget {
|
||||
reflector_: Reflector
|
||||
}
|
||||
|
@ -28,8 +26,12 @@ impl EventTarget {
|
|||
}
|
||||
|
||||
impl Reflectable for EventTarget {
|
||||
fn reflector(&mut self) -> &mut Reflector {
|
||||
unsafe { cast::transmute(&self.reflector_) }
|
||||
fn reflector<'a>(&'a self) -> &'a Reflector {
|
||||
&self.reflector_
|
||||
}
|
||||
|
||||
fn mut_reflector<'a>(&'a mut self) -> &'a mut Reflector {
|
||||
&mut self.reflector_
|
||||
}
|
||||
|
||||
fn wrap_object_shared(@mut self, cx: *JSContext, scope: *JSObject) -> *JSObject {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue