Struct mun_abi::TypeDefinition

source ·
#[repr(C)]
pub struct TypeDefinition<'a> { pub name: *const c_char, pub data: TypeDefinitionData<'a>, /* private fields */ }
Expand description

Represents the type declaration for a type that is exported by an assembly.

When multiple Mun modules reference the same type, only one module exports the type; the module that contains the type definition. All the other Mun modules reference the type through a TypeId.

The modules that defines the type exports the data to reduce the filesize of the assemblies and to ensure only one definition exists. When linking all assemblies together the type definitions from all assemblies are loaded and the information is shared to modules that reference the type.

TODO: add support for polymorphism, enumerations, type parameters, generic type definitions, and constructed generic types.

Fields§

§name: *const c_char

Type name

§data: TypeDefinitionData<'a>

Type group

Implementations§

Returns true if this instance is an instance of the given TypeId.

Returns the type’s name.

Returns the GUID if this type represents a concrete type.

Retrieves the type’s struct information, if available.

Returns the size of the type in bits

Returns the size of the type in bytes

Returns the alignment of the type in bytes

Trait Implementations§

Formats the value using the given formatter. Read more
Formats the value using the given formatter. Read more
This method tests for self and other values to be equal, and is used by ==. Read more
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

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

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

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.