pub struct TypeEntry {
pub key: TypeKey,
pub module: ModuleId,
pub index_in_module: u32,
pub variants: Vec<CtorId>,
pub is_product: bool,
}Expand description
One entry in the type table.
Fields§
§key: TypeKey§module: ModuleId§index_in_module: u32§variants: Vec<CtorId>The variants list of a sum type, in source order. Empty
for record (product) types — those use a single implicit
constructor whose CtorId is registered separately.
is_product: booltrue when the type is a product (record). The record has
one CtorId entry in the SymbolTable::ctors table
even though it has no source-level variant list; this lets
emit code uniformly route record creation through the
constructor path.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TypeEntry
impl RefUnwindSafe for TypeEntry
impl Send for TypeEntry
impl Sync for TypeEntry
impl Unpin for TypeEntry
impl UnsafeUnpin for TypeEntry
impl UnwindSafe for TypeEntry
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