Struct moore_svlog::ty::PackedType[][src]

pub struct PackedType<'a> {
    pub core: PackedCore<'a>,
    pub sign: Sign,
    pub sign_explicit: bool,
    pub dims: Vec<PackedDim>,
    // some fields omitted
}
Expand description

A packed type.

Fields

core: PackedCore<'a>

The core packed type.

sign: Sign

The type sign.

sign_explicit: bool

Whether the sign was explicit in the source code.

dims: Vec<PackedDim>

The packed dimensions.

Implementations

Create a new type with default sign and no packed dimensions.

This creates the type on the stack. In general you will want to use the make_* functions to create a type that is interned into a context.

Create a new type with default sign and packed dimensions.

This creates the type on the stack. In general you will want to use the make_* functions to create a type that is interned into a context.

Create a new type with no packed dimensions.

This creates the type on the stack. In general you will want to use the make_* functions to create a type that is interned into a context.

Create a new type with packed dimensions.

This creates the type on the stack. In general you will want to use the make_* functions to create a type that is interned into a context.

Create a new type from an SBVT.

Create an interned type with default sign and no packed dimensions.

Create an interned type with default sign and packed dimensions.

Create an interned type with no packed dimensions.

Create an interned type with packed dimensions.

Create an interned type from an SBVT.

Create a tombstone.

Create a void type.

Create a logic type.

Create a time type.

Internalize this type in a context and resolve it.

Wrap this packed type up in an unpacked type.

Resolve one level of name or type reference indirection.

For example, given typedef int foo; typedef foo bar;, resolves bar to foo.

Resolve all name or type reference indirections recursively.

For example, given typedef int foo; typedef foo bar;, resolves bar to int.

Check if this is a tombstone.

Check if this type is equal to another one.

Types which coalesce to iN in LLHD are checked for equality of their SBVT.

Check if this type is strictly equal to another one.

Get the domain for this type.

Get the sign for this type.

Compute the size of this type in bits.

Returns None if one of the type’s dimensions is [].

Check if this type is trivially a SBVT.

Check if this type is a simple integer vector type, like logic [x:y] or logic.

Check if this type is an integer atom type, like int.

Check if this type is a single bit type, like bit.

Check if this type is the time type.

Check if this type will coalesce to a scalar type in LLHD, like i42.

Convert this type into an SBVT if possible.

Convert this type into an SBVT, or report a bug with the given span.

Pop the outermost dimension off the type.

For example, maps bit [3:0][7:0] to bit [7:0].

Replace the outermost dimension of the type.

Panics if the type has no dimensions.

Get the outermost dimension of the type.

For example, yields the [3:0] in bit [3:0][7:0].

Get the underlying struct, or None if the type is no struct.

Get the underlying enum, or None if the type is no enum.

Trait Implementations

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Performs the conversion.

Feeds this value into the given Hasher. Read more

Feeds a slice of this type into the given Hasher. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The alignment of pointer.

The type for initializers.

Initializes a with the given initializer. Read more

Dereferences the given pointer. Read more

Mutably dereferences the given pointer. Read more

Drops the object pointed to by the given pointer. Read more

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.