panic on typo in deriving clause
Consider the following:
data T = T deriving (eq)
Note the misspelled lower-case capital - Eq was intended instead. Rather than reporting a syntax error, GHC panics:
mnykanen@localhost$ ghc -v -dcore-lint extest.hs Glasgow Haskell Compiler, Version 7.4.1, stage 2 booted by GHC version 7.0.2 Using binary package database: /home/mnykanen/bin/ghc-7.4.1/lib/ghc-7.4.1/package.conf.d/package.cache Using binary package database: /home/mnykanen/.ghc/x86_64-linux-7.4.1/package.conf.d/package.cache wired-in package ghc-prim mapped to ghc-prim-0.2.0.0-c2ff696e5b8ec4d4b2bc2e42085fe471 wired-in package integer-gmp mapped to integer-gmp-0.4.0.0-3cccac07aef8e27023f605c1f45bdf74 wired-in package base mapped to base-4.5.0.0-6db966b4cf8c1a91188e66d354ba065e wired-in package rts mapped to builtin_rts wired-in package template-haskell mapped to template-haskell-2.7.0.0-133c0fdb189e05de22bd926d39f99fe3 wired-in package dph-seq not found. wired-in package dph-par not found. Hsc static flags: -static
- ** Chasing dependencies:
Chasing modules from: *extest.hs Stable obj: [] Stable BCO: [] Ready for upsweep
[NONREC
ModSummary {
ms_hs_date = Sat Nov 17 10:05:25 EET 2012
ms_mod = main:Main,
ms_textual_imps = [import (implicit) Prelude]
ms_srcimps = []
}]
- ** Deleting temp files:
Deleting: compile: input file extest.hs Created temporary directory: /tmp/ghc2802_0
- ** Checking old interface for main:Main:
[1 of 1] Compiling Main ( extest.hs, extest.o )
- ** Parser:
- ** Renamer/typechecker:
- ** Deleting temp files:
Deleting: /tmp/ghc2802_0/ghc2802_0.s Warning: deleting non-existent /tmp/ghc2802_0/ghc2802_0.s
- ** Deleting temp dirs:
Deleting: /tmp/ghc2802_0 ghc: panic! (the 'impossible' happened)
(GHC version 7.4.1 for x86_64-unknown-linux):
nameModule eq{tv a9I}
Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug
Trac metadata
Trac field | Value |
---|---|
Version | 7.4.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |