#7391: "The 'impossible' happened" trying to derive Binary for a data instance
  Reporter:  ydewit              |          Owner:         
      Type:  bug                 |         Status:  closed 
  Priority:  normal              |      Milestone:         
 Component:  Compiler            |        Version:  7.4.1  
Resolution:  invalid             |       Keywords:         
        Os:  MacOS X             |   Architecture:  x86    
   Failure:  Compile-time crash  |     Difficulty:  Unknown
  Testcase:                      |      Blockedby:         
  Blocking:                      |        Related:         
Changes (by simonpj):

 * cc: ndmitchell@… (added)
  * difficulty:  => Unknown
  * status:  new => closed
  * resolution:  => invalid


 This is a bug in the `derive` package, not in GHC. The full message looks
 like this
     Exception when trying to run compile-time code:
       Could not convert Dec to Decl
 TySynD T7391.ADataCmd [] (AppT (ConT T7391.Cmd) (AppT (ConT T7391.Id)
 (ConT T7391.AData)))
 Language\Haskell\Convert.hs:(37,14)-(40,8): Non-exhaustive patterns in

     Code: derive makeBinary ''ADataCmd
 And indeed the `Convert` module of the `derive` package has this
 instance Convert TH.Dec HS.Decl where
     conv x = case x of
         DataD cxt n vs con ds -> f DataType cxt n vs con ds
         NewtypeD cxt n vs con ds -> f NewType cxt n vs [con] ds
             f t cxt n vs con ds = DataDecl sl t (c cxt) (c n) (c vs) (c
 con) []
 Notice taht there are only two cases in the `case` expression. Your
 program uses a `data family` which is not dealt with by these two cases.

 Perhaps you need to talk to Neil Mitchell, who is the mainainer of

 I'll close as invalid for now; please reopen if you think it's GHC's


Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7391#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler

Glasgow-haskell-bugs mailing list

Reply via email to