Skip to content

GHC crash with NOINLINE and weird IO stuff

{-# LANGUAGE UnboxedTuples #-}
module Crash where

import GHC.Base

crash :: IO ()
crash = IO (\s ->
  let
    {-# NOINLINE s' #-}
    s' = s
  in (# s', () #))

This compiles under 7.6.3, but both 7.8.3 and head choke:

ghc: panic! (the 'impossible' happened)
  (GHC version 7.8.3 for x86_64-unknown-linux):
        StgCmmEnv: variable not found
    s{v sLw} [lid]
    local binds for:

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug
Edited by David Feuer
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information