[−][src]Enum walrus::ir::InstrSeqType
The type of an instruction sequence.
Variants
Simple(Option<ValType>)
MVP Wasm blocks/loops/ifs can only push zero or one resulting value onto the stack. They cannot take parameters on the stack.
MultiValue(TypeId)
The multi-value extension to Wasm allows arbitrary stack parameters and results, which are expressed via the same mechanism as function types.
Methods
impl InstrSeqType
[src]
pub fn new(
types: &mut ModuleTypes,
params: &[ValType],
results: &[ValType]
) -> InstrSeqType
[src]
types: &mut ModuleTypes,
params: &[ValType],
results: &[ValType]
) -> InstrSeqType
Construct a new InstrSeqType
of the correct form for the given
parameter and result types.
pub fn existing(
types: &ModuleTypes,
params: &[ValType],
results: &[ValType]
) -> Option<InstrSeqType>
[src]
types: &ModuleTypes,
params: &[ValType],
results: &[ValType]
) -> Option<InstrSeqType>
Construct an InstrSeqType
with a signature that is known to either be
Simple
or uses a Type
that has already been inserted into the
ModuleTypes
.
Returns None
if this is an instruction sequence signature that
requires multi-value and ModuleTypes
does not already have a Type
for it.
Trait Implementations
impl Eq for InstrSeqType
[src]
impl Clone for InstrSeqType
[src]
fn clone(&self) -> InstrSeqType
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl PartialEq<InstrSeqType> for InstrSeqType
[src]
fn eq(&self, other: &InstrSeqType) -> bool
[src]
fn ne(&self, other: &InstrSeqType) -> bool
[src]
impl From<Option<ValType>> for InstrSeqType
[src]
fn from(x: Option<ValType>) -> InstrSeqType
[src]
impl From<ValType> for InstrSeqType
[src]
fn from(x: ValType) -> InstrSeqType
[src]
impl From<Id<Type>> for InstrSeqType
[src]
fn from(x: TypeId) -> InstrSeqType
[src]
impl Copy for InstrSeqType
[src]
impl Debug for InstrSeqType
[src]
Auto Trait Implementations
impl Send for InstrSeqType
impl Unpin for InstrSeqType
impl Sync for InstrSeqType
impl RefUnwindSafe for InstrSeqType
impl UnwindSafe for InstrSeqType
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,