Open
Description
When I run the test suite (currently with ad1292b) and have coverage checking enabled, then I get failures like the following ones:
prop_noThunks_newPageAcc: FAIL
*** Failed! Falsified (after 1 test):
Found thunk ThunkInfo {thunkContext = ["PageAcc"], thunkInfo = Nothing}
Use --quickcheck-replay="(SMGen 6848572901445988197 3866298262932292735,0)" to reproduce.
Use -p '/prop_noThunks_newPageAcc/' to rerun this test only.
prop_noThunks_pageAccAddElem: FAIL
*** Failed! Falsified (after 1 test):
Found thunk ThunkInfo {thunkContext = ["PageAcc"], thunkInfo = Nothing}
Use --quickcheck-replay="(SMGen 11663673265626043436 15978012764355855857,0)" to reproduce.
Use -p '/prop_noThunks_pageAccAddElem/' to rerun this test only.
prop_noThunks_resetPageAcc: FAIL
*** Failed! Falsified (after 1 test):
Found thunk ThunkInfo {thunkContext = ["PageAcc"], thunkInfo = Nothing}
Use --quickcheck-replay="(SMGen 7347757721205846164 14956855808673582855,0)" to reproduce.
Use -p '/prop_noThunks_resetPageAcc/' to rerun this test only.
propLockstep_RealImpl_RealFS_IO: FAIL (0.01s)
*** Failed! Falsified (after 1 test):
do pure ()
Found thunk ThunkInfo {thunkContext = ["Session'"], thunkInfo = Nothing}
Use --quickcheck-replay="(SMGen 17214650247628038002 3390861474545086669,0)" to reproduce.
Use -p '/propLockstep_RealImpl_RealFS_IO/' to rerun this test only.
When I have coverage checking disabled, no such failures occur. I guess there is indeed some unwanted laziness here, which just doesn’t show up without coverage checking because of better optimization. Since we shouldn’t rely on such optimization subtleties, we should investigate this further and fix any issues we find.