ezno
ezno copied to clipboard
Allow for more than u16::MAX types
Currently all types are currently held under a single Vec<Type>
, and TypeId
is pointer into this vector. TypeId is a wrapped for a u16. To support larger files/codebases this needs to increase
-
Currently the sequential ids require the whole program to be checked (from a starting point). Adding more incremental parts will create problems if an intermediate file is changed.
TypeId
has to be split between libraries/files somehow. -
Also from #103: Adding versioning or something to the binary format that can be checked on deserialization. This is because new versions of the compiler might have a different representation in byte form (new fields, removed enum members, etc) that isn't compatible to be parsed with binary files generated by older compilers