Types

Struct Types 

pub struct Types { /* private fields */ }
Expand description

Represents the types known to a crate::Validator once validation has completed.

The type information is returned via the crate::Validator::end method.

Implementations§

§

impl Types

pub fn component_any_type_at(&self, index: u32) -> ComponentAnyTypeId

Gets a component WebAssembly type at the given type index.

Note that this is in contrast to TypesRef::core_type_at_in_component which gets a core type from its index.

§Panics

Panics if index is not a valid type index.

pub fn component_type_at(&self, index: u32) -> ComponentTypeId

Gets a component type at the given type index.

§Panics

Panics if index is not a valid component type index.

pub fn component_defined_type_at(&self, index: u32) -> ComponentDefinedTypeId

Gets a component type from the given component type index.

§Panics

Panics if index is not a valid defined type index or if this type information represents a core module.

pub fn component_function_at(&self, index: u32) -> ComponentFuncTypeId

Gets the type of a component function at the given function index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn component_function_count(&self) -> u32

Gets the count of imported, exported, or aliased component functions.

pub fn module_at(&self, index: u32) -> ComponentCoreModuleTypeId

Gets the type of a module at the given module index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn module_count(&self) -> usize

Gets the count of imported, exported, or aliased modules.

pub fn core_instance_at(&self, index: u32) -> ComponentCoreInstanceTypeId

Gets the type of a module instance at the given module instance index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn core_instance_count(&self) -> usize

Gets the count of imported, exported, or aliased core module instances.

pub fn component_at(&self, index: u32) -> ComponentTypeId

Gets the type of a component at the given component index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn component_count(&self) -> usize

Gets the count of imported, exported, or aliased components.

pub fn component_instance_at(&self, index: u32) -> ComponentInstanceTypeId

Gets the type of an component instance at the given component instance index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn component_instance_count(&self) -> usize

Gets the count of imported, exported, or aliased component instances.

pub fn value_at(&self, index: u32) -> ComponentValType

Gets the type of a value at the given value index.

§Panics

This will panic if the index provided is out of bounds or if this type information represents a core module.

pub fn value_count(&self) -> usize

Gets the count of imported, exported, or aliased values.

pub fn component_entity_type_of_import( &self, name: &str, ) -> Option<ComponentEntityType>

Gets the component entity type for the given component import name.

pub fn component_entity_type_of_export( &self, name: &str, ) -> Option<ComponentEntityType>

Gets the component entity type for the given component export name.

pub fn peel_alias<T>(&self, ty: T) -> Option<T>
where T: Aliasable,

Attempts to lookup the type id that ty is an alias of.

Returns None if ty wasn’t listed as aliasing a prior type.

§

impl Types

pub fn as_ref(&self) -> TypesRef<'_>

Return a TypesRef through which types can be inspected.

Trait Implementations§

§

impl<T> Index<T> for Types
where T: TypeIdentifier,

§

type Output = <T as TypeIdentifier>::Data

The returned type after indexing.
§

fn index(&self, id: T) -> &<Types as Index<T>>::Output

Performs the indexing (container[index]) operation. Read more

Auto Trait Implementations§

§

impl Freeze for Types

§

impl RefUnwindSafe for Types

§

impl Send for Types

§

impl Sync for Types

§

impl Unpin for Types

§

impl UnwindSafe for Types

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Pointer = u32

Source§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more