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.
Tuple Fields of Record
Variant(Variant)
An enumeration where a value is one of a number of variants.
Tuple Fields of Variant
0: Variant
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.
Tuple Fields of Handle
List(TypeRef)
A list of a type, stored in linear memory.
Note that lists of char
are specialized to indicate strings.
Tuple Fields of List
0: TypeRef
Pointer(TypeRef)
A witx
-specific type representing a raw mutable pointer into linear
memory
Tuple Fields of Pointer
0: TypeRef
ConstPointer(TypeRef)
A witx
-specific type representing a raw const pointer into linear
memory
Tuple Fields of ConstPointer
0: TypeRef
Builtin(BuiltinType)
A builtin base-case type.
Tuple Fields of Builtin
0: BuiltinType
Implementations
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Type
impl !UnwindSafe for Type
Blanket Implementations
Mutably borrows from an owned value. Read more