
#14246: Probably AllowAmbiguousTypes + UndecidableInstances + TypeInType -------------------------------------+------------------------------------- Reporter: Toricon | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.2 Keywords: | Operating System: Windows Architecture: x86_64 | Type of failure: Compile-time (amd64) | crash or panic Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: -------------------------------------+------------------------------------- ghc.exe: panic! (the 'impossible' happened) (GHC version 8.0.2 for x86_64-unknown-mingw32): isInjectiveTyCon sees a TcTyCon KLN {{{#!hs {-# LANGUAGE RankNTypes, GADTs, TypeOperators, PolyKinds, DataKinds, TypeFamilies, AllowAmbiguousTypes, UndecidableInstances, TypeInType #-} module MCS.Function where import MCS.Core --import MCS.Value import Data.Kind -- necessary for * type family KLN (n :: k) :: Nat where KLN (f :: v -> k) = S (KLN (forall t. f t)) KLN (f :: *) = Z type family Reveal (n :: k) (l :: Vect (KLN n) L) :: * where Reveal (f :: v -> k) (Cons (Label (t :: v)) l) = Reveal (f t) l Reveal (a :: *) Nil = a }}} The problem *has* to be somewhere in the KLN / Reveal interaction, so I removed everything else for this. Every other weird area is commented out or unused, and the bug vanished when KLN / Reveal was commented out. KLN shouldn't even work. If it _could_ be interaction with the rest of the document, I'll put that back in. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14246 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler