pub enum SpecialObject {
Promise {
from: FunctionId,
position: TypeId,
},
Generator {
from: FunctionId,
position: TypeId,
},
Proxy(Proxy),
RegularExpression(RegExp),
Import(Exported),
Function(FunctionId, ThisValue),
Null,
}Expand description
These are objects (typeof * = "object") but have special behavior
Variants§
Promise
Hold state of the runtime
Generator
Hold state of the runtime
Proxy(Proxy)
Needs overrides for calling, getting etc
RegularExpression(RegExp)
Not a [Constant] as typeof /hi/ === "object" and it has state
Import(Exported)
This cannot be a regular object because of is because of let mutations
Function(FunctionId, ThisValue)
Yeah here. Also for classes
TODO not all functions have ThisValue
Null
Trait Implementations§
Source§impl Clone for SpecialObject
impl Clone for SpecialObject
Source§fn clone(&self) -> SpecialObject
fn clone(&self) -> SpecialObject
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SpecialObject
impl RefUnwindSafe for SpecialObject
impl Send for SpecialObject
impl Sync for SpecialObject
impl Unpin for SpecialObject
impl UnsafeUnpin for SpecialObject
impl UnwindSafe for SpecialObject
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more