Expand description

This module defines a generic file format that allows to check if a given file generated by incremental compilation was generated by a compatible compiler version. This file format is used for the on-disk version of the dependency graph and the exported metadata hashes.

In practice “compatible compiler version” means “exactly the same compiler version”, since the header encodes the git commit hash of the compiler. Since we can always just ignore the incremental compilation cache and compiler versions don’t change frequently for the typical user, being conservative here practically has no downside.

Constants

FILE_MAGIC 🔒
The first few bytes of files generated by incremental compilation.
Change this if the header format changes.
A version string that hopefully is always different for compiler versions with different encodings of incremental compilation artifacts. Contains the Git commit hash.

Functions

Reads the contents of a file with a file header as defined in this module.
save_in 🔒