Skip to content

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
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information