diff options
author | Huon Wilson <dbau.pp+github@gmail.com> | 2014-03-25 22:23:55 +1100 |
---|---|---|
committer | Huon Wilson <dbau.pp+github@gmail.com> | 2014-03-25 22:23:55 +1100 |
commit | 94e4ab3eafd24b88a9bdd7dce88c7fe084176668 (patch) | |
tree | a8c3a3b458690f8a85aafb3029b6d799db82195a /src/components/script/dom/bindings | |
parent | 3401a568f276c55f90ec050df605492b900f79ac (diff) | |
download | servo-94e4ab3eafd24b88a9bdd7dce88c7fe084176668.tar.gz servo-94e4ab3eafd24b88a9bdd7dce88c7fe084176668.zip |
Remove some unnecessary transmutes.
These can either be done by implicit `&` -> `*` coercions, explicit `*`
-> `*` casts, or an explicit `&*x` `*` -> `&` re-borrow (which is still
unsafe, but significantly more controlled compared to a `transmute`).
Diffstat (limited to 'src/components/script/dom/bindings')
-rw-r--r-- | src/components/script/dom/bindings/proxyhandler.rs | 6 | ||||
-rw-r--r-- | src/components/script/dom/bindings/utils.rs | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/components/script/dom/bindings/proxyhandler.rs b/src/components/script/dom/bindings/proxyhandler.rs index 81c36d639ad..80320ec4cfb 100644 --- a/src/components/script/dom/bindings/proxyhandler.rs +++ b/src/components/script/dom/bindings/proxyhandler.rs @@ -74,7 +74,7 @@ pub fn _obj_toString(cx: *JSContext, className: *libc::c_char) -> *JSString { unsafe { let name = str::raw::from_c_str(className); let nchars = "[object ]".len() + name.len(); - let chars: *mut jschar = cast::transmute(JS_malloc(cx, (nchars + 1) as libc::size_t * (size_of::<jschar>() as libc::size_t))); + let chars: *mut jschar = JS_malloc(cx, (nchars + 1) as libc::size_t * (size_of::<jschar>() as libc::size_t)) as *mut jschar; if chars.is_null() { return ptr::null(); } @@ -84,9 +84,9 @@ pub fn _obj_toString(cx: *JSContext, className: *libc::c_char) -> *JSString { *chars.offset(i as int) = c as jschar; } *chars.offset(nchars as int) = 0; - let jsstr = JS_NewUCString(cx, cast::transmute(chars), nchars as libc::size_t); + let jsstr = JS_NewUCString(cx, chars as *jschar, nchars as libc::size_t); if jsstr.is_null() { - JS_free(cx, cast::transmute(chars)); + JS_free(cx, chars as *libc::c_void); } jsstr } diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index bf11721fe97..37c62fd4c3c 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -91,12 +91,12 @@ pub unsafe fn get_dom_class(obj: *JSObject) -> Result<DOMClass, ()> { let clasp = JS_GetClass(obj); if is_dom_class(clasp) { debug!("plain old dom object"); - let domjsclass: *DOMJSClass = cast::transmute(clasp); + let domjsclass: *DOMJSClass = clasp as *DOMJSClass; return Ok((*domjsclass).dom_class); } if is_dom_proxy(obj) { debug!("proxy dom object"); - let dom_class: *DOMClass = cast::transmute(GetProxyHandlerExtra(obj)); + let dom_class: *DOMClass = GetProxyHandlerExtra(obj) as *DOMClass; return Ok(*dom_class); } debug!("not a dom object"); @@ -233,7 +233,7 @@ pub struct DOMJSClass { pub fn GetProtoOrIfaceArray(global: *JSObject) -> **JSObject { unsafe { /*assert ((*JS_GetClass(global)).flags & JSCLASS_DOM_GLOBAL) != 0;*/ - cast::transmute(JS_GetReservedSlot(global, DOM_PROTOTYPE_SLOT).to_private()) + JS_GetReservedSlot(global, DOM_PROTOTYPE_SLOT).to_private() as **JSObject } } |