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
sourceimpl Representable for Type
impl Representable for Type
fn representable(&self, by: &Self) -> RepEquality
impl Eq for Type
impl StructuralEq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations
impl RefUnwindSafe for Type
impl !Send for Type
impl !Sync for Type
impl Unpin for Type
impl UnwindSafe for Type
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more