summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--serde_v8/src/ser.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/serde_v8/src/ser.rs b/serde_v8/src/ser.rs
index 54c1be5e4..16b6447b9 100644
--- a/serde_v8/src/ser.rs
+++ b/serde_v8/src/ser.rs
@@ -12,19 +12,16 @@ use crate::magic;
type JsValue<'s> = v8::Local<'s, v8::Value>;
type JsResult<'s> = Result<JsValue<'s>>;
-type ScopePtr<'a, 'b, 'c> = &'c RefCell<v8::EscapableHandleScope<'a, 'b>>;
+type ScopePtr<'a, 'b, 'c> = &'c RefCell<&'b mut v8::HandleScope<'a>>;
pub fn to_v8<'a, T>(scope: &mut v8::HandleScope<'a>, input: T) -> JsResult<'a>
where
T: Serialize,
{
- let subscope = v8::EscapableHandleScope::new(scope);
- let scopeptr = RefCell::new(subscope);
+ let scopeptr = RefCell::new(scope);
let serializer = Serializer::new(&scopeptr);
- let x = input.serialize(serializer)?;
- let x = scopeptr.borrow_mut().escape(x);
- Ok(x)
+ input.serialize(serializer)
}
/// Wraps other serializers into an enum tagged variant form.