Type Definition move_model::model::RawIndex

source ·
pub type RawIndex = u16;
Expand description

Identifiers

Identifiers are opaque values used to reference entities in the environment.

We have two kinds of ids: those based on an index, and those based on a symbol. We use the symbol based ids where we do not have control of the definition index order in bytecode (i.e. we do not know in which order move-lang enters functions and structs into file format), and index based ids where we do have control (for modules, SpecFun and SpecVar).

In any case, ids are opaque in the sense that if someone has a StructId or similar in hand, it is known to be defined in the environment, as it has been obtained also from the environment. Raw index type used in ids. 16 bits are sufficient currently.