
#7927: Error in 'lift' line causes the 'impossible' to happen -------------------------------+-------------------------------------------- Reporter: MitchellSalad | Owner: Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.6.3 | Keywords: Os: Linux | Architecture: x86_64 (amd64) Failure: Compile-time crash | Blockedby: Blocking: | Related: -------------------------------+-------------------------------------------- import Control.Monad.Trans.Class (lift) import Control.Monad.Trans.Maybe (MaybeT) foo :: MaybeT IO () foo = lift putStrLn "foo" -------- This code caused the following output from GHC: Couldn't match kind `* -> *' with `*' Expected type: [Char] -> MaybeT IO () Actual type: [Char] -> MaybeT IO () Kind incompatibility when matching types: [Char] :: * -> * [Char] :: * The function `lift'ghc: panic! (the 'impossible' happened) (GHC version 7.6.3 for x86_64-unknown-linux): kindFunResult <<details unavailable>> -------- The line should of course be 'lift $ putStrLn "foo"'. Apologies if this is a duplicate bug. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7927 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler