2020-01-19 21:16:37 -05:00
|
|
|
// Copyright 2019-2020 the Deno authors. All rights reserved. MIT license.
|
|
|
|
use rusty_v8 as v8;
|
2019-12-24 18:31:36 -05:00
|
|
|
|
|
|
|
pub fn main() {
|
2020-01-20 21:14:00 -05:00
|
|
|
let mut locker = v8::Locker::new(mock());
|
|
|
|
let mut root_hs = v8::HandleScope::new(locker.enter());
|
2020-01-19 21:16:37 -05:00
|
|
|
let root_hs = root_hs.enter();
|
2019-12-24 18:31:36 -05:00
|
|
|
|
|
|
|
{
|
2020-01-19 21:16:37 -05:00
|
|
|
let mut hs = v8::EscapableHandleScope::new(root_hs);
|
2019-12-24 18:31:36 -05:00
|
|
|
let hs = hs.enter();
|
2020-01-19 21:16:37 -05:00
|
|
|
let _fail = v8::EscapableHandleScope::new(root_hs);
|
2019-12-24 18:31:36 -05:00
|
|
|
let _local = v8::Integer::new(hs, 123);
|
|
|
|
}
|
|
|
|
|
|
|
|
{
|
2020-01-19 21:16:37 -05:00
|
|
|
let mut hs1 = v8::EscapableHandleScope::new(root_hs);
|
2019-12-24 18:31:36 -05:00
|
|
|
let hs1 = hs1.enter();
|
|
|
|
let _local1 = v8::Integer::new(hs1, 123);
|
|
|
|
|
|
|
|
let mut hs2 = v8::EscapableHandleScope::new(hs1);
|
|
|
|
let hs2 = hs2.enter();
|
|
|
|
let _fail = v8::Integer::new(hs1, 123);
|
|
|
|
let _local2 = v8::Integer::new(hs2, 123);
|
|
|
|
let _local3 = v8::Integer::new(hs2, 123);
|
|
|
|
}
|
|
|
|
|
|
|
|
let _leak1 = {
|
2020-01-19 21:16:37 -05:00
|
|
|
let mut hs = v8::EscapableHandleScope::new(root_hs);
|
2019-12-24 18:31:36 -05:00
|
|
|
let hs = hs.enter();
|
|
|
|
v8::Integer::new(hs, 456)
|
|
|
|
};
|
|
|
|
|
|
|
|
let _leak = {
|
2020-01-19 21:16:37 -05:00
|
|
|
let mut hs = v8::EscapableHandleScope::new(root_hs);
|
2019-12-24 18:31:36 -05:00
|
|
|
hs.enter()
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
fn mock<T>() -> T {
|
|
|
|
unimplemented!()
|
|
|
|
}
|