Fix some places in typerep where unsafe code causes runtime "invalid" errors with flambda2, meaning that the optimiser thought such code was unreachable. This was missed before as it requires a low optimisation level which we don't usually use for flambda2 builds.
- Change
typerep_libto use the typelazy_trather thanLazy.t. The ocaml_plugin library'sOcaml_compilercompiles modules in an environment where the compiler cannot determine thatLazy.tandlazy_tare the same - thus with the current version of typerep_lib plugins effectively cannot use@@deriving typerep.
- Add whether record fields are mutable.
- Remove unused "bin_proj" rewriter.
- Split out typerep_extended which is now using core_kernel
-
Renamed
Typereplibraries for more consistency with the rest of the framework.Typerep_kernel --> Typerep_lib Typerep_core --> Typerep_extended Typereplib --> Typerep_experimental