Enum cranelift_isle::sema::Type
source · [−]pub enum Type {
Primitive(TypeId, Sym, Pos),
Enum {
name: Sym,
id: TypeId,
is_extern: bool,
is_nodebug: bool,
variants: Vec<Variant>,
pos: Pos,
},
}
Expand description
A type.
Variants
Primitive(TypeId, Sym, Pos)
A primitive, Copy
type.
These are always defined externally, and we allow literals of these types to pass through from ISLE source code to the emitted Rust code.
Enum
Fields
name: Sym
The name of this enum.
id: TypeId
This enum
’s type id.
is_extern: bool
Is this enum
defined in external Rust code?
If so, ISLE will not emit a definition for it. If not, then it will emit a Rust definition for it.
is_nodebug: bool
Whether this type should not derive Debug
.
Incompatible with is_extern
.
pos: Pos
The ISLE source position where this enum
is defined.
A sum type.
Note that enums with only one variant are equivalent to a “struct”.
Implementations
Trait Implementations
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