pub enum GcOp {
Show 85 variants
Gc,
MakeRefs,
TakeRefs,
TableGet {
elem_index: u32,
},
TableSet {
elem_index: u32,
},
GlobalGet {
global_index: u32,
},
GlobalSet {
global_index: u32,
},
LocalGet {
local_index: u32,
},
LocalSet {
local_index: u32,
},
StructNew {
type_index: u32,
},
StructNewDefault {
type_index: u32,
},
TakeStructCall,
TakeTypedStructCall {
type_index: u32,
},
StructLocalSet,
StructLocalGet,
TypedStructLocalSet {
type_index: u32,
},
TypedStructLocalGet {
type_index: u32,
},
StructGlobalSet,
StructGlobalGet,
TypedStructGlobalSet {
type_index: u32,
},
TypedStructGlobalGet {
type_index: u32,
},
StructTableSet {
elem_index: u32,
},
StructTableGet {
elem_index: u32,
},
TypedStructTableSet {
elem_index: u32,
type_index: u32,
},
TypedStructTableGet {
elem_index: u32,
type_index: u32,
},
Drop,
NullExtern,
NullStruct,
NullEq,
TakeEqCall,
EqLocalSet,
EqLocalGet,
EqGlobalSet,
EqGlobalGet,
EqTableSet {
elem_index: u32,
},
EqTableGet {
elem_index: u32,
},
NullTypedStruct {
type_index: u32,
},
RefCastUpward {
sub_type_index: u32,
super_type_index: u32,
},
RefCastDownward {
sub_type_index: u32,
super_type_index: u32,
},
StructGet {
type_index: u32,
field_index: u32,
},
StructGetU {
type_index: u32,
field_index: u32,
},
StructSet {
type_index: u32,
field_index: u32,
},
NullI31,
RefI31 {
value: u32,
},
I31LocalSet,
I31LocalGet,
I31GlobalSet,
I31GlobalGet,
I31TableSet {
elem_index: u32,
},
I31TableGet {
elem_index: u32,
},
TakeI31Call,
I31GetS,
I31GetU,
StructRefAsEq,
TypedStructRefAsEq {
type_index: u32,
},
I31RefAsEq,
ArrayNewDefault {
type_index: u32,
},
ArrayNew {
type_index: u32,
},
ArrayNewFixed {
type_index: u32,
n: u32,
},
NullArray,
NullTypedArray {
type_index: u32,
},
TakeArrayCall,
TakeTypedArrayCall {
type_index: u32,
},
ArrayLocalSet,
ArrayLocalGet,
TypedArrayLocalSet {
type_index: u32,
},
TypedArrayLocalGet {
type_index: u32,
},
ArrayGlobalSet,
ArrayGlobalGet,
TypedArrayGlobalSet {
type_index: u32,
},
TypedArrayGlobalGet {
type_index: u32,
},
ArrayTableSet {
elem_index: u32,
},
ArrayTableGet {
elem_index: u32,
},
TypedArrayTableSet {
elem_index: u32,
type_index: u32,
},
TypedArrayTableGet {
elem_index: u32,
type_index: u32,
},
ArrayRefCastUpward {
sub_type_index: u32,
super_type_index: u32,
},
ArrayRefCastDownward {
sub_type_index: u32,
super_type_index: u32,
},
ArrayGet {
type_index: u32,
index: u32,
},
ArrayGetU {
type_index: u32,
index: u32,
},
ArraySet {
type_index: u32,
index: u32,
},
ArrayFill {
type_index: u32,
offset: u32,
len: u32,
},
ArrayCopy {
type_index: u32,
dst_offset: u32,
src_offset: u32,
len: u32,
},
ArrayLen,
ArrayRefAsEq,
TypedArrayRefAsEq {
type_index: u32,
},
}Expand description
The operations that can be performed by the gc function.
Variants§
Gc
MakeRefs
TakeRefs
TableGet
TableSet
GlobalGet
GlobalSet
LocalGet
LocalSet
StructNew
StructNewDefault
TakeStructCall
TakeTypedStructCall
StructLocalSet
StructLocalGet
TypedStructLocalSet
TypedStructLocalGet
StructGlobalSet
StructGlobalGet
TypedStructGlobalSet
TypedStructGlobalGet
StructTableSet
StructTableGet
TypedStructTableSet
TypedStructTableGet
Drop
NullExtern
NullStruct
NullEq
TakeEqCall
EqLocalSet
EqLocalGet
EqGlobalSet
EqGlobalGet
EqTableSet
EqTableGet
NullTypedStruct
RefCastUpward
RefCastDownward
StructGet
StructGetU
StructSet
NullI31
RefI31
I31LocalSet
I31LocalGet
I31GlobalSet
I31GlobalGet
I31TableSet
I31TableGet
TakeI31Call
I31GetS
I31GetU
StructRefAsEq
TypedStructRefAsEq
I31RefAsEq
ArrayNewDefault
ArrayNew
ArrayNewFixed
NullArray
NullTypedArray
TakeArrayCall
TakeTypedArrayCall
ArrayLocalSet
ArrayLocalGet
TypedArrayLocalSet
TypedArrayLocalGet
ArrayGlobalSet
ArrayGlobalGet
TypedArrayGlobalSet
TypedArrayGlobalGet
ArrayTableSet
ArrayTableGet
TypedArrayTableSet
TypedArrayTableGet
ArrayRefCastUpward
ArrayRefCastDownward
ArrayGet
ArrayGetU
ArraySet
ArrayFill
ArrayCopy
ArrayLen
ArrayRefAsEq
TypedArrayRefAsEq
Trait Implementations§
impl Copy for GcOp
Source§impl DefaultMutate for GcOp
impl DefaultMutate for GcOp
Source§type DefaultMutate = GcOpsMutator
type DefaultMutate = GcOpsMutator
The default mutator for this type.
Source§impl<'de> Deserialize<'de> for GcOp
impl<'de> Deserialize<'de> for GcOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for GcOp
Source§impl Generate<GcOp> for GcOpsMutator
impl Generate<GcOp> for GcOpsMutator
Source§impl Generate<GcOp> for GcOpMutator
impl Generate<GcOp> for GcOpMutator
Source§impl Mutate<GcOp> for GcOpsMutator
impl Mutate<GcOp> for GcOpsMutator
Source§fn mutate(&mut self, c: &mut Candidates<'_>, value: &mut GcOp) -> MutResult<()>
fn mutate(&mut self, c: &mut Candidates<'_>, value: &mut GcOp) -> MutResult<()>
Pseudo-randomly mutate the given value. Read more
§fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
fn mutation_count(&self, value: &T, shrink: bool) -> Option<u32>
Return the number of mutations that [
mutate][Mutate::mutate] would
register for the given value. Read more§fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
Create a new mutator that performs either this mutation or the
other
mutation. Read more§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Map a function over the mutations produced by this mutator. Read more
Source§impl Mutate<GcOp> for GcOpMutator
impl Mutate<GcOp> for GcOpMutator
Source§fn mutate(
&mut self,
mutations: &mut Candidates<'_>,
value: &mut GcOp,
) -> Result<()>
fn mutate( &mut self, mutations: &mut Candidates<'_>, value: &mut GcOp, ) -> Result<()>
Pseudo-randomly mutate the given value. Read more
Source§fn mutation_count(&self, value: &GcOp, shrink: bool) -> Option<u32>
fn mutation_count(&self, value: &GcOp, shrink: bool) -> Option<u32>
Return the number of mutations that [
mutate][Mutate::mutate] would
register for the given value. Read more§fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
fn or<M>(self, other: M) -> Or<Self, M>where
Self: Sized,
Create a new mutator that performs either this mutation or the
other
mutation. Read more§fn map<F>(self, f: F) -> Map<Self, F>
fn map<F>(self, f: F) -> Map<Self, F>
Map a function over the mutations produced by this mutator. Read more
impl StructuralPartialEq for GcOp
Auto Trait Implementations§
impl Freeze for GcOp
impl RefUnwindSafe for GcOp
impl Send for GcOp
impl Sync for GcOp
impl Unpin for GcOp
impl UnsafeUnpin for GcOp
impl UnwindSafe for GcOp
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
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