Struct TableType
pub struct TableType {
pub ty: Type,
pub minimum: u32,
pub maximum: Option<u32>,
pub readonly: bool,
}Expand description
A descriptor for a table in a WebAssembly module.
Tables are contiguous chunks of a specific element, typically a funcref or
an externref. The most common use for tables is a function table through
which call_indirect can invoke other functions.
Fields§
§ty: TypeThe type of data stored in elements of the table.
minimum: u32The minimum number of elements in the table.
maximum: Option<u32>The maximum number of elements in the table.
readonly: boolWhether the table is known to be immutable at runtime.
Implementations§
§impl TableType
impl TableType
pub fn new(ty: Type, minimum: u32, maximum: Option<u32>) -> TableType
pub fn new(ty: Type, minimum: u32, maximum: Option<u32>) -> TableType
Creates a new table descriptor which will contain the specified
element and have the limits applied to its length.
pub fn is_fixed_funcref_table(&self) -> bool
pub fn is_fixed_funcref_table(&self) -> bool
Return true if it’s a function reference table with a fixed number of elements.
Trait Implementations§
§impl Archive for TableType
impl Archive for TableType
§const COPY_OPTIMIZATION: CopyOptimization<TableType>
const COPY_OPTIMIZATION: CopyOptimization<TableType>
An optimization flag that allows the bytes of this type to be copied
directly to a writer instead of calling
serialize. Read more§impl<'de> Deserialize<'de> for TableType
impl<'de> Deserialize<'de> for TableType
§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TableType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TableType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
§impl<__D> Deserialize<TableType, __D> for <TableType as Archive>::Archivedwhere
__D: Fallible + ?Sized,
Type: Archive,
<Type as Archive>::Archived: Deserialize<Type, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
Option<u32>: Archive,
<Option<u32> as Archive>::Archived: Deserialize<Option<u32>, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
impl<__D> Deserialize<TableType, __D> for <TableType as Archive>::Archivedwhere
__D: Fallible + ?Sized,
Type: Archive,
<Type as Archive>::Archived: Deserialize<Type, __D>,
u32: Archive,
<u32 as Archive>::Archived: Deserialize<u32, __D>,
Option<u32>: Archive,
<Option<u32> as Archive>::Archived: Deserialize<Option<u32>, __D>,
bool: Archive,
<bool as Archive>::Archived: Deserialize<bool, __D>,
§fn deserialize(
&self,
deserializer: &mut __D,
) -> Result<TableType, <__D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut __D, ) -> Result<TableType, <__D as Fallible>::Error>
Deserializes using the given deserializer
§impl Serialize for TableType
impl Serialize for TableType
§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl Copy for TableType
impl Eq for TableType
impl StructuralPartialEq for TableType
Auto Trait Implementations§
impl Freeze for TableType
impl RefUnwindSafe for TableType
impl Send for TableType
impl Sync for TableType
impl Unpin for TableType
impl UnwindSafe for TableType
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
The archived counterpart of this type. Unlike
Archive, it may be
unsized. Read more§fn archived_metadata(
&self,
) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
fn archived_metadata( &self, ) -> <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata
Creates the archived version of the metadata for this value.
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<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.§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
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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2where
T: SharedNiching<N1, N2>,
N1: Niching<T>,
N2: Niching<T>,
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Pointee for T
impl<T> Pointee for T
§impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
impl<T, S> SerializeUnsized<S> for Twhere
T: Serialize<S>,
S: Fallible + Writer + ?Sized,
§fn serialize_unsized(
&self,
serializer: &mut S,
) -> Result<usize, <S as Fallible>::Error>
fn serialize_unsized( &self, serializer: &mut S, ) -> Result<usize, <S as Fallible>::Error>
Writes the object and returns the position of the archived type.
§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn