0
0
Fork 0
mirror of https://github.com/denoland/rusty_v8.git synced 2025-01-12 00:54:15 -05:00
denoland-rusty-v8/tests/compile_fail/try_catch_lifetimes.rs
Ryan Dahl 32abe84dc6
Remove v8::Locker (#272)
This patch clarifies that v8::Isolate is a single threaded creature,
which can only be accessed from other threads in special circumstances.
To ensure optimal operation in Deno, we remove v8::Locker, which ought
to be unnecessary when a thread is dedicated to each Isolate and the
Isolates never move between threads.

There are valid use-cases for v8::Locker, and we hope to address them in
future versions of rusty_v8.

Co-authored-by: Bert Belder <bertbelder@gmail.com>
2020-02-11 17:01:27 -05:00

21 lines
593 B
Rust

// Copyright 2019-2020 the Deno authors. All rights reserved. MIT license.
use rusty_v8 as v8;
pub fn main() {
let mut scope: v8::Scope<v8::HandleScope, v8::Isolate> = mock();
let scope = scope.enter();
let context: v8::Local<v8::Context> = mock();
let _leaked = {
let mut try_catch = v8::TryCatch::new(scope);
let tc = try_catch.enter();
let exception = tc.exception().unwrap();
let stack_trace = tc.stack_trace(scope, context).unwrap();
let message = tc.message().unwrap();
(exception, stack_trace, message)
};
}
fn mock<T>() -> T {
unimplemented!()
}