`flagRecompile` is unreliable, because modifying a function doesn't necessarily modify its fingerprint
I ran into the following problem:
Foocontains a function
foohas no unfolding (because of the lack of
foois too large)
- One modifies
foois a different function, but its fingerprint in
Foo.hiremains the same (this is not always the case, but it is sometimes).
- There's a GHC plugin which depends on
Foo.foo, and whose
- The plugin does not re-run after modifying
foobecause its fingerprint remains the same, even though its behavior has now changed.
So it seems 2 is the culprit. Is it possible to compute the fingerprint of a function from its definition, which ensures a different definition always has a different fingerprint?
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information