Opened 16 years ago

Closed 16 years ago

Last modified 48 years ago

#527 closed bug (Fixed)

Impossible Happening (deriving problem?)

Reported by: lewie Owned by: nobody
Priority: normal Milestone:
Component: Compiler Version: None
Keywords: Cc:
Operating System: Architecture:
Type of failure: None/Unknown Test Case:
Blocked By: Blocking:
Related Tickets: Differential Rev(s):
Wiki Page:


The (hopefully) attached file does the impossible:

ghc     -c P.hs -o P.o
ghc-5.00: panic! (the `impossible' happened, GHC
version 5.00):

If the types `NoteFun' and `PhraseFun' are replaced by
`()', the bug goes away.

Attachments (1)

P.2.hs (1.0 KB) - added by lewie 16 years ago.

Download all attachments as: .zip

Change History (2)

Changed 16 years ago by lewie

Attachment: P.2.hs added

comment:1 Changed 16 years ago by simonpj

Status: assignedclosed
Logged In: YES 

GHC was falling into a black hole when type checking a 
group of type declarations including a chain of type 

  type PhraseFun = PMap -> Float
  type PMap      = () -> Player
  data Player    = P.MkT P.PhraseFun

Reason: too much consistency checking in TcMonoType.
Easily fixed using the existing wimp_out hack, but it's a 
This commit fixes it for the 5.00 branch but I'll do 
better in the head shortly.

Note: See TracTickets for help on using tickets.