Enum moore_svlog::hir::TypeKind [−][src]
pub enum TypeKind {
Implicit,
Builtin(BuiltinType),
Named(Spanned<Name>),
Struct(Vec<NodeId>),
PackedArray(Box<TypeKind>, NodeId, NodeId),
Scope(NodeId, Spanned<Name>),
Enum(Vec<(Spanned<Name>, NodeId)>, Option<NodeId>),
RefExpr(NodeId),
RefType(NodeId),
}
Expand description
The different forms a type can take.
Variants
An implicit type.
Builtin(BuiltinType)
A builtin type.
Tuple Fields of Builtin
0: BuiltinType
A named type.
A struct or union type.
A packed array such as bit [31:0]
.
Represented as (inner_type, range_lhs, range_rhs)
.
A scope access such as foo::bar
.
An enum type.
Each element in the vector refers to a EnumVariant
. The optional field
indicates the representation type.
RefExpr(NodeId)
A type reference on an expression, such as type(x)
.
Tuple Fields of RefExpr
0: NodeId
RefType(NodeId)
A type reference on a type, such as type(int)
.
Tuple Fields of RefType
0: NodeId
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for TypeKind
impl UnwindSafe for TypeKind
Blanket Implementations
Mutably borrows from an owned value. Read more