#5287: The 'impossible' happened.  solveDerivEqns: probable loop
-------------------------------+--------------------------------------------
    Reporter:  agocorona       |        Owner:                    
        Type:  bug             |       Status:  new               
    Priority:  normal          |    Milestone:                    
   Component:  Compiler        |      Version:  7.0.3             
    Keywords:  solveDerivEqns  |     Testcase:                    
   Blockedby:                  |   Difficulty:                    
          Os:  Windows         |     Blocking:                    
Architecture:  x86             |      Failure:  Compile-time crash
-------------------------------+--------------------------------------------
Description changed by igloo:

Old description:

> This code:
>
> --------- begin of code------
>
> {-# LANGUAGE   FlexibleInstances, UndecidableInstances
>                , MultiParamTypeClasses
>                 #-}
>
> class Serializable a b
>

> class IResource a     --The rest of the instance definitions does not
> matter for the error
>

> instance  Serializable a b => IResource a
>
> data DBRef a=  DBRef String   a
>

> instance  (IResource a) => Read (DBRef a)
>

> data   Votation a= Votation{
>   content         :: DBRef a
> } deriving (Read)
>

>
> ------------------------------- end of code ---
>
> gives the following error at compilation time:
>
> tests>runghc impossiblelloop.hs
> ghc: panic! (the 'impossible' happened)
>   (GHC version 7.0.3 for i386-unknown-mingw32):
>         solveDerivEqns: probable loop
>     (impossiblelloop.hs:20:13-16 main:Main.$fReadVotation{v rhI} [a{tv
> abB} [tv]
> ] base:GHC.Read.Read{tc 2d} [main:Main.Votation{tc rbo}
>
>                                a{tv abB} [tv]] = [base:GHC.Read.Read{tc
> 2d}
>
>                                                     (main:Main.DBRef{tc
> rbu}
>
>                                                        a{tv abB} [tv])])
>     [[main:Main.Serializable{tc rbA} a{tv abB} [tv] b{tv ajE} [tcs]]]
>
> Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

New description:

 This code:

 {{{
 {-# LANGUAGE   FlexibleInstances, UndecidableInstances
                , MultiParamTypeClasses
                 #-}

 class Serializable a b


 class IResource a     --The rest of the instance definitions does not
 matter for the error


 instance  Serializable a b => IResource a

 data DBRef a=  DBRef String   a


 instance  (IResource a) => Read (DBRef a)


 data   Votation a= Votation{
   content         :: DBRef a
 } deriving (Read)
 }}}

 gives the following error at compilation time:

 {{{
 tests>runghc impossiblelloop.hs
 ghc: panic! (the 'impossible' happened)
   (GHC version 7.0.3 for i386-unknown-mingw32):
         solveDerivEqns: probable loop
     (impossiblelloop.hs:20:13-16 main:Main.$fReadVotation{v rhI} [a{tv
 abB} [tv]
 ] base:GHC.Read.Read{tc 2d} [main:Main.Votation{tc rbo}

                                a{tv abB} [tv]] = [base:GHC.Read.Read{tc
 2d}

                                                     (main:Main.DBRef{tc
 rbu}

                                                        a{tv abB} [tv])])
     [[main:Main.Serializable{tc rbA} a{tv abB} [tv] b{tv ajE} [tcs]]]

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

--

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

_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to