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 |