diff options
Diffstat (limited to 'core/bindings.rs')
-rw-r--r-- | core/bindings.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/core/bindings.rs b/core/bindings.rs index 5681ded31..a88e54af7 100644 --- a/core/bindings.rs +++ b/core/bindings.rs @@ -147,6 +147,7 @@ pub extern "C" fn host_import_module_dynamically_callback( specifier: v8::Local<v8::String>, import_assertions: v8::Local<v8::FixedArray>, ) -> *mut v8::Promise { + // SAFETY: `CallbackScope` can be safely constructed from `Local<Context>` let scope = &mut unsafe { v8::CallbackScope::new(context) }; // NOTE(bartlomieju): will crash for non-UTF-8 specifier @@ -253,6 +254,7 @@ pub extern "C" fn host_initialize_import_meta_object_callback( module: v8::Local<v8::Module>, meta: v8::Local<v8::Object>, ) { + // SAFETY: `CallbackScope` can be safely constructed from `Local<Context>` let scope = &mut unsafe { v8::CallbackScope::new(context) }; let module_map_rc = JsRuntime::module_map(scope); let module_map = module_map_rc.borrow(); @@ -274,6 +276,7 @@ pub extern "C" fn host_initialize_import_meta_object_callback( pub extern "C" fn promise_reject_callback(message: v8::PromiseRejectMessage) { use v8::PromiseRejectEvent::*; + // SAFETY: `CallbackScope` can be safely constructed from `&PromiseRejectMessage` let scope = &mut unsafe { v8::CallbackScope::new(&message) }; let state_rc = JsRuntime::state(scope); @@ -418,6 +421,7 @@ pub fn module_resolve_callback<'s>( import_assertions: v8::Local<'s, v8::FixedArray>, referrer: v8::Local<'s, v8::Module>, ) -> Option<v8::Local<'s, v8::Module>> { + // SAFETY: `CallbackScope` can be safely constructed from `Local<Context>` let scope = &mut unsafe { v8::CallbackScope::new(context) }; let module_map_rc = JsRuntime::module_map(scope); |