-fdefer-type-errors allows the types of quotations to be coerced, causing segmentation fault
-fdefer-type-errors allows the type of a quotation to be coerced into another quotation type. This allows e.g. a declaration quotation to be used in a place where an expression quotation is expected, which results in a compile-time segmentation fault.
The following GHCi script demonstrates the issue:
:set -fdefer-type-errors
:set -XTemplateHaskell
$([d|a = ()|])
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.6.1 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |