Skip to content

Incorrect handling of recursive groups with signatures containing equalities and TFs

Jan Jakubuv found this:

{-# OPTIONS -fglasgow-exts #-}
module Foo where

class SUBST s where
    type STerm s

class OBJECT o where
    type OTerm o
    apply :: (SUBST s, OTerm o ~ STerm s) => s -> o

fce' f = fce . apply $ f

fce f = fce' f

yields, with GHC 6.10 or the HEAD:

    ghc: panic! (the 'impossible' happened)
      (GHC version 6.10.2 for i386-unknown-linux):
            idInfo co{v agz} [tv]
Trac metadata
Trac field Value
Version 6.10.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
Edited by Manuel M T Chakravarty
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information