ezno icon indicating copy to clipboard operation
ezno copied to clipboard

Allow for more than u16::MAX types

Open kaleidawave opened this issue 4 months ago • 1 comments

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

kaleidawave avatar Mar 03 '24 22:03 kaleidawave