Enum witx::Type [−][src]
pub enum Type { Record(RecordDatatype), Variant(Variant), Handle(HandleDatatype), List(TypeRef), Pointer(TypeRef), ConstPointer(TypeRef), Builtin(BuiltinType), }
Expand description
Structure of all possible interface types.
Note that this is intended to match the interface types proposal itself.
Currently this is relatively close to that with just a few *.witx
extensions for now.
Variants
Record(RecordDatatype)
A structure with named field.
Variant(Variant)
An enumeration where a value is one of a number of variants.
Handle(HandleDatatype)
A “handle” which is an un-forgeable reference. Today this is an i32
where a module can’t forge and use integers it was not already given
access to.
List(TypeRef)
A list of a type, stored in linear memory.
Note that lists of char
are specialized to indicate strings.
Pointer(TypeRef)
A witx
-specific type representing a raw mutable pointer into linear
memory
ConstPointer(TypeRef)
A witx
-specific type representing a raw const pointer into linear
memory
Builtin(BuiltinType)
A builtin base-case type.
Implementations
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Type
impl !UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more