From 516857a15d1be42f82e35bbc90d23e19f2dd7b77 Mon Sep 17 00:00:00 2001 From: Bastien Orivel Date: Wed, 1 Nov 2017 12:59:23 +0100 Subject: [PATCH] Remove a workaround for https://github.com/rust-lang/rfcs/issues/718 --- components/script/dom/bindings/proxyhandler.rs | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/components/script/dom/bindings/proxyhandler.rs b/components/script/dom/bindings/proxyhandler.rs index 67c68927c9f..a604a34e377 100644 --- a/components/script/dom/bindings/proxyhandler.rs +++ b/components/script/dom/bindings/proxyhandler.rs @@ -20,8 +20,7 @@ use js::jsapi::GetStaticPrototype; use js::jsapi::JS_GetPropertyDescriptorById; use js::jsapi::MutableHandleObject; use js::jsval::ObjectValue; -use libc; -use std::{mem, ptr}; +use std::ptr; static JSPROXYSLOT_EXPANDO: u32 = 0; @@ -91,11 +90,7 @@ pub unsafe extern "C" fn define_property(cx: *mut JSContext, desc: Handle, result: *mut ObjectOpResult) -> bool { - // FIXME: Workaround for https://github.com/rust-lang/rfcs/issues/718 - let setter: *const libc::c_void = mem::transmute(desc.get().setter); - let setter_stub: unsafe extern fn(_, _, _, _, _) -> _ = JS_StrictPropertyStub; - let setter_stub: *const libc::c_void = mem::transmute(setter_stub); - if (desc.get().attrs & JSPROP_GETTER) != 0 && setter == setter_stub { + if (desc.get().attrs & JSPROP_GETTER) != 0 && desc.get().setter == Some(JS_StrictPropertyStub) { (*result).code_ = JSErrNum::JSMSG_GETTER_ONLY as ::libc::uintptr_t; return true; }