ForeignImport coercion evaluated before typechecking
I'm fairly new to Haskell by all accounts this could have been caused by me doing something silly. Following the real world haskell book's directions on the FFI resulted in:
"Multiple markers at this line: - buildwrapper.exe: panic! (the 'impossible' happened) (GHC version 7.6.3 for i386-unknown-mingw32): ForeignImport coercion evaluated before typechecking Please report this as a GHC bug: http://www.haskell.org/ghc/reportabug - 16 changed lines"
I went to the Haskell Wiki to try an example from there to see if the RWH e.g. was just out dated. All examples I've come across causes this error inc. those at http://www.haskell.org/haskellwiki/FFI_complete_examples#Calling_standard_library_functions and reading https://www.haskell.org/ghc/docs/7.6.3/users_guide.pdf FFI section didn't help.
The current failing code is
{-# LANGUAGE ForeignFunctionInterface #-}
module Events.CEvent where
import Prelude hiding (sin)
import Foreign.C -- get the C types
import Foreign.Ptr (Ptr,nullPtr)
-- pure function
foreign import ccall "sin" c_sin :: CDouble -> CDouble
sin :: Double -> Double
sin d = realToFrac (c_sin (realToFrac d))
-- impure function
foreign import ccall "time" c_time :: Ptr a -> IO CTime
getTime :: IO CTime
getTime = c_time nullPtr
I've also tried this which causes the same error
{-# LANGUAGE ForeignFunctionInterface #-}
module Events.Event2 where
import Foreign
import Foreign.C.Types
foreign import ccall "math.h sin"
c_sin :: CDouble -> CDouble
Trac metadata
Trac field | Value |
---|---|
Version | 7.6.3 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |