Skip to content

runIO does not catch userErrors, just causes code generation to fail silently

If a userError is thrown inside a runIO computation inside a splice, no indication of the error is given - instead, the compiler just fails to generate a valid .hi file, leaving the user none the wiser as to what has gone wrong.

(Actually, maybe this is a more general problem than just runIO - I also noticed that use of "undefined" in a splice can cause an "impossible" error in GHC.)

This is with a checkout from today from darcs.

Trac metadata
Trac field Value
Version 6.7
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Template Haskell
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information