Note [quantifyTyVars determinism]
The results of quantifyTyVars are wrapped in a forall and can end up in the interface file. One such example is inferred type signatures. They also affect the results of optimizations, for example worker-wrapper. This means that to get deterministic builds quantifyTyVars needs to be deterministic. To achieve this CandidatesQTvs is backed by deterministic sets which allows them to be later converted to a list in a deterministic order. For more information about deterministic sets see Note [Deterministic UniqFM] in GHC.Types.Unique.DFM.
References 1
- Deterministic UniqFM GHC.Types.Unique.DFM
Referenced by 0
Nothing in the tree points here.