driver: Fix recompilation checking for exported defaults and COMPLETE pragmas
- Apr 01, 2025
-
-
Matthew Pickering authored
A {-# COMPLETE P, Q #-} pragma is associated with the pattern synonyms P and Q during recompilation checking. Therefore, the existence of a pattern synonym becomes part of the ABI hash for P and Q. Then if a module uses these pattern synonyms and a complete pragma changes, it will trigger recompilation in that module. Fixes #25854
-
- Mar 31, 2025
-
-
Matthew Pickering authored
Since the exported defaults are not associated with any identifier from the module, they are just added to the export hash rather than the fine-grained recompilation logic. Fixes #25855
-
Matthew Pickering authored
computeFingerprint is morally a pure function, which is implemented by mutating a buffer. Using unsafePerformIO inside the definition allows it to be used in pure contexts, fixing one place where an ad-hoc call to unsafePerformIO is already needed.
-