pub enum Type {
Show 13 variants
Void,
Label,
Metadata,
Half,
Float,
Double,
Integer(u32),
Pointer(TypeId, u32),
Array(u64, TypeId),
Vector(u64, TypeId),
Struct {
name: Option<String>,
elements: Vec<TypeId>,
packed: bool,
literal: bool,
},
Opaque(Option<String>),
Function {
vararg: bool,
ret: TypeId,
params: Vec<TypeId>,
},
}Expand description
A type of the module’s type table.
Variants§
Void
void.
Label
label, the type of a basic block.
Metadata
metadata.
Half
half.
Float
float.
Double
double.
Integer(u32)
An integer of this many bits (1 to 64).
Pointer(TypeId, u32)
A pointer to the type, in this LLVM address space (the TYPE_CODE_POINTER record’s second operand). Pointers to
one type in two spaces are two types.
Array(u64, TypeId)
An array of this many elements of the type.
Vector(u64, TypeId)
A vector of this many lanes of the type.
Struct
A structure.
Fields
Opaque(Option<String>)
A named structure without a body.
Function
A function type.
Trait Implementations§
impl Eq for Type
impl StructuralPartialEq for Type
Auto Trait Implementations§
impl Forget for Type
impl Freeze for Type
impl RefUnwindSafe for Type
impl Send for Type
impl Sync for Type
impl Unpin for Type
impl UnsafeUnpin for Type
impl UnwindSafe for Type
Blanket Implementations§
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