Struct mozjs::jsapi::JS::OwningCompileOptions
source · #[repr(C)]pub struct OwningCompileOptions {
pub _base: ReadOnlyCompileOptions,
}
Expand description
Compilation options, with dynamic lifetime. An instance of this type makes a copy of / holds / roots all dynamically allocated resources (principals; elements; strings) that it refers to. Its destructor frees / drops / unroots them. This is heavier than CompileOptions, below, but unlike CompileOptions, it can outlive any given stack frame.
Note that this roots any JS values it refers to - they’re live unconditionally. Thus, instances of this type can’t be owned, directly or indirectly, by a JavaScript object: if any value that this roots ever comes to refer to the object that owns this, then the whole cycle, and anything else it entrains, will never be freed.
Fields§
§_base: ReadOnlyCompileOptions
Trait Implementations§
source§impl Debug for OwningCompileOptions
impl Debug for OwningCompileOptions
source§impl PartialEq<OwningCompileOptions> for OwningCompileOptions
impl PartialEq<OwningCompileOptions> for OwningCompileOptions
source§fn eq(&self, other: &OwningCompileOptions) -> bool
fn eq(&self, other: &OwningCompileOptions) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for OwningCompileOptions
Auto Trait Implementations§
impl RefUnwindSafe for OwningCompileOptions
impl !Send for OwningCompileOptions
impl !Sync for OwningCompileOptions
impl Unpin for OwningCompileOptions
impl UnwindSafe for OwningCompileOptions
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more