Skip to content

ghc panic TcPat.checkArgs

This program using the derive package:

{-# LANGUAGE TemplateHaskell, EmptyDataDecls #-}
import Data.DeriveTH
import Data.Derive.Enum
data Void
$(derive makeEnum ''Void)

produces a compiler panic:

rwbarton@functor:~/code/haskell$ ghc --make panic
[1 of 1] Compiling Main             ( panic.hs, panic.o )
Loading package base ... linking ... done.
Loading package array-0.1.0.0 ... linking ... done.
Loading package packedstring-0.1.0.0 ... linking ... done.
Loading package containers-0.1.0.1 ... linking ... done.
Loading package pretty-1.0.0.0 ... linking ... done.
Loading package template-haskell ... linking ... done.
Loading package old-locale-1.0.0.0 ... linking ... done.
Loading package old-time-1.0.0.0 ... linking ... done.
Loading package filepath-1.1.0.0 ... linking ... done.
Loading package directory-1.0.0.0 ... linking ... done.
Loading package mtl-1.1.0.1 ... linking ... done.
Loading package unix-2.3.0.0 ... linking ... done.
Loading package process-1.0.0.0 ... linking ... done.
Loading package random-1.0.0.0 ... linking ... done.
Loading package derive-0.1.1 ... linking ... done.
ghc-6.8.2: panic! (the 'impossible' happened)
  (GHC version 6.8.2 for i386-unknown-linux):
	TcPat.checkArgs

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

Matt Morrow has reproduced this in a ghc 6.10 prelease.

I don't particularly need a derived Enum instance for Void, but the error message told me to report a bug.

Trac metadata
Trac field Value
Version 6.8.2
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