
6 Sep
2011
6 Sep
'11
7:50 p.m.
On Tue, Sep 6, 2011 at 3:33 PM, Ron Alford
It took me about 4-6 hours to track down this bug in my own code (#5448) since it required repeatedly bisecting a larger program until I had a small testcase. In the test program, I can get around it with {-# NOINLINE funcEq #-}. In the program it came from, though, FuncEq is an imported value, so I have to either compile with -O0, or change put the pragma in the imported library, where it will effect a fair amount of code that /doesn't/ hit this bug.
This doesn't solve GHC's bug, but can you do something like myFuncEq = funcEq {-# NOINLINE myFuncEq #-} and just use myFuncEq everywhere? This should make the change local to your module. Cheers, -- Felipe.