Crate mun_abi

Crate mun_abi 

Source
Expand description

The Mun ABI

The Mun ABI defines the binary format used to communicate between the Mun Compiler and Mun Runtime.

Modules§

static_type_map
A StaticTypeMap is a map that maps from a type to a value.

Structs§

ArrayTypeId
Represents an array of a specific type.
AssemblyInfo
Represents an assembly declaration.
DispatchTable
Represents a function dispatch table. This is used for runtime linking.
FunctionDefinition
Represents a function definition. A function definition contains the name, type signature, and a pointer to the implementation.
FunctionPrototype
Represents a function prototype. A function prototype contains the name, type signature, but not an implementation.
FunctionSignature
Represents a function signature.
Guid
Represents a globally unique identifier (GUID).
ModuleInfo
Represents a module declaration.
PointerTypeId
Represents a pointer to another type.
StructDefinition
Represents a struct declaration.
TypeDefinition
Represents the type declaration for a type that is exported by an assembly.
TypeLut
Represents a lookup table for type information. This is used for runtime linking.

Enums§

Privacy
Represents the privacy level of modules, functions, or variables.
StructMemoryKind
Represents the kind of memory management a struct uses.
TypeDefinitionData
Contains data specific to a group of types that illicit the same characteristics.
TypeId
Represents a unique identifier for types. The runtime can use this to lookup the corresponding [TypeInfo]. A TypeId is a key for a [TypeInfo].

Constants§

ABI_VERSION
Defines the current ABI version
GET_INFO_FN_NAME
Defines the name for the get_info function
GET_VERSION_FN_NAME
Defines the name for the get_version function
SET_ALLOCATOR_HANDLE_FN_NAME
Defines the name for the set_allocator_handle function

Traits§

HasStaticTypeId
A trait that defines that for a type we can statically return a TypeId.
HasStaticTypeName
A trait that defines that for a type we can statically return a type name.
PrimitiveType
Defines functions for built-in types like f32, i32, etc.