Type error but types match
> unboxedsums git:(prim_sums_rebase_5) x cat primop_bug.hs
{-# LANGUAGE MagicHash, ScopedTypeVariables, UnboxedTuples #-}
module Main where
import GHC.MVar
import GHC.Prim
import GHC.Types
main :: IO ()
main = IO (\rw -> newMVar# rw) >> return ()
> unboxedsums git:(prim_sums_rebase_5) x ghc-stage1 primop_bug.hs -ddump-stg -ddump-cmm -ddump-to-file -fforce-recomp -dumpdir primop_fails -O -fprint-explicit-kinds
[1 of 1] Compiling Main ( primop_bug.hs, primop_bug.o )
primop_bug.hs:10:19: error:
• Couldn't match a lifted type with an unlifted type
Expected type: (# State# RealWorld, MVar# RealWorld a0 #)
Actual type: (# State# RealWorld, MVar# RealWorld a0 #)
• In the expression: newMVar# rw
In the first argument of ‘IO’, namely ‘(\ rw -> newMVar# rw)’
In the first argument of ‘(>>)’, namely ‘IO (\ rw -> newMVar# rw)’
Tried with HEAD, 8.0.1.
Trac metadata
Trac field | Value |
---|---|
Version | 8.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler (Type checker) |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |