Note [Unique Determinism]

GHC/Types/Unique.hs:227 compiler

The order of allocated @Uniques@ is not stable across rebuilds.
The main reason for that is that typechecking interface files pulls
@Uniques@ from @UniqSupply@ and the interface file for the module being
currently compiled can, but doesn't have to exist.

It gets more complicated if you take into account that the interface
files are loaded lazily and that building multiple files at once has to
work for any subset of interface files present. When you add parallelism
this makes @Uniques@ hopelessly random.

As such, to get deterministic builds, the order of the allocated
@Uniques@ should not affect the final result.
see also wiki/deterministic-builds

References 0

This Note does not link to any other.

Referenced by 15