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_lib
to use the typelazy_t
rather thanLazy.t
. The ocaml_plugin library'sOcaml_compiler
compiles modules in an environment where the compiler cannot determine thatLazy.t
andlazy_t
are 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
Typerep
libraries for more consistency with the rest of the framework.Typerep_kernel --> Typerep_lib Typerep_core --> Typerep_extended Typereplib --> Typerep_experimental