There are 3 JSContext types:
js::jsapi::JSContextwhich is usually used as*mut RawContextscript_bindings::script_runtime::JSContextwhich is just wrapper for above pointer, typically namedSafeJSContextjs::context::JSContextnewJSContext, usually passed as&mut JSContext(GC can happen) or&JSContext(no GC can happen)