barrucadu / dejafu

Systematic concurrency testing meets Haskell.
https://dejafu.docs.barrucadu.co.uk/
191 stars 18 forks source link

GHC-9.0.x can't build concurrency #334

Closed mimi1vx closed 3 years ago

mimi1vx commented 3 years ago
[   34s] Preprocessing library for concurrency-1.11.0.0..
[   34s] Building library for concurrency-1.11.0.0..
[   34s] creating dist/build
[   34s] /usr/bin/ghc --make -fbuilding-cabal-package -O -static -dynamic-too -dynosuf dyn_o -dynhisuf dyn_hi -outputdir dist/build -odir dist/build -hidir dist/build -stubdir dist/build -i -idist/build -i. -idist/build/autogen -idist/build/global-autogen -Idist/build/autogen -Idist/build/global-autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -this-unit-id concurrency-1.11.0.0-Dm7Pjy6CGVK2lPuMrukBhC -hide-all-packages -Wmissing-home-modules -no-user-package-db -package-db dist/package.conf.inplace -package-id array-0.5.4.0 -package-id atomic-primops-0.8.4-31ED63GYOuYFjQJ27qAvr0 -package-id base-4.15.0.0 -package-id exceptions-0.10.4 -package-id monad-control-1.0.2.3-GImceuomSql5u0yoEWRa30 -package-id mtl-2.2.2 -package-id stm-2.5.0.0 -package-id transformers-0.5.6.2 -XHaskell2010 Control.Monad.Conc.Class Control.Monad.STM.Class Control.Concurrent.Classy Control.Concurrent.Classy.Async Control.Concurrent.Classy.Chan Control.Concurrent.Classy.BoundedChan Control.Concurrent.Classy.CRef Control.Concurrent.Classy.IORef Control.Concurrent.Classy.MVar Control.Concurrent.Classy.QSem Control.Concurrent.Classy.QSemN Control.Concurrent.Classy.Lock Control.Concurrent.Classy.RWLock Control.Concurrent.Classy.STM Control.Concurrent.Classy.STM.TVar Control.Concurrent.Classy.STM.TMVar Control.Concurrent.Classy.STM.TChan Control.Concurrent.Classy.STM.TQueue Control.Concurrent.Classy.STM.TBQueue Control.Concurrent.Classy.STM.TArray Control.Concurrent.Classy.STM.TSem -Wall -optc-O2 -optc-Wall '-optc-D_FORTIFY_SOURCE=2' -optc-fstack-protector-strong -optc-funwind-tables -optc-fasynchronous-unwind-tables -optc-fstack-clash-protection '-optc-Werror=return-type'
[   34s] [ 1 of 21] Compiling Control.Monad.STM.Class ( Control/Monad/STM/Class.hs, dist/build/Control/Monad/STM/Class.o, dist/build/Control/Monad/STM/Class.dyn_o )
[   35s] 
[   35s] Control/Monad/STM/Class.hs:64:1: warning: [-Wunused-imports]
[   35s]     The import of ‘Control.Monad.Fail’ is redundant
[   35s]       except perhaps to import instances from ‘Control.Monad.Fail’
[   35s]     To import instances alone, use: import Control.Monad.Fail()
[   35s]    |
[   35s] 64 | import           Control.Monad.Fail           (MonadFail(..))
[   35s]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[   35s] 
[   35s] Control/Monad/STM/Class.hs:97:20: warning: [-Wstar-is-type]
[   35s]     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
[   35s]     relies on the StarIsType extension, which will become
[   35s]     deprecated in the future.
[   35s]     Suggested fix: use ‘Type’ from ‘Data.Kind’ instead.
[   35s]    |
[   35s] 97 |   type TVar stm :: * -> *
[   35s]    |                    ^
[   35s] 
[   35s] Control/Monad/STM/Class.hs:97:25: warning: [-Wstar-is-type]
[   35s]     Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
[   35s]     relies on the StarIsType extension, which will become
[   35s]     deprecated in the future.
[   35s]     Suggested fix: use ‘Type’ from ‘Data.Kind’ instead.
[   35s]    |
[   35s] 97 |   type TVar stm :: * -> *
[   35s]    |                         ^
[   35s] [ 2 of 21] Compiling Control.Monad.Conc.Class ( Control/Monad/Conc/Class.hs, dist/build/Control/Monad/Conc/Class.o, dist/build/Control/Monad/Conc/Class.dyn_o )
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:525:27: error:
[   36s]     • Couldn't match type ‘b5’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b5 -> m ()
[   36s]       Cannot instantiate unification variable ‘b5’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the first argument of ‘forkWithUnmask’, namely ‘(const ma)’
[   36s]       In the expression: forkWithUnmask (const ma)
[   36s]       In an equation for ‘fork’: fork ma = forkWithUnmask (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:525:6)
[   36s]         fork :: m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:525:1)
[   36s]     |
[   36s] 525 | fork ma = forkWithUnmask (const ma)
[   36s]     |                           ^^^^^^^^
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:535:35: error:
[   36s]     • Couldn't match type ‘b4’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b4 -> m ()
[   36s]       Cannot instantiate unification variable ‘b4’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the second argument of ‘forkOnWithUnmask’, namely ‘(const ma)’
[   36s]       In the expression: forkOnWithUnmask c (const ma)
[   36s]       In an equation for ‘forkOn’:
[   36s]           forkOn c ma = forkOnWithUnmask c (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:535:10)
[   36s]         forkOn :: Int -> m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:535:1)
[   36s]     |
[   36s] 535 | forkOn c ma = forkOnWithUnmask c (const ma)
[   36s]     |                                   ^^^^^^^^
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:543:31: error:
[   36s]     • Couldn't match type ‘b3’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b3 -> m ()
[   36s]       Cannot instantiate unification variable ‘b3’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the first argument of ‘forkOSWithUnmask’, namely ‘(const ma)’
[   36s]       In the expression: forkOSWithUnmask (const ma)
[   36s]       In an equation for ‘forkOS’:
[   36s]           forkOS ma = forkOSWithUnmask (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:543:8)
[   36s]         forkOS :: m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:543:1)
[   36s]     |
[   36s] 543 | forkOS ma = forkOSWithUnmask (const ma)
[   36s]     |                               ^^^^^^^^
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:581:39: error:
[   36s]     • Couldn't match type ‘b2’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b2 -> m ()
[   36s]       Cannot instantiate unification variable ‘b2’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the second argument of ‘forkWithUnmaskN’, namely ‘(const ma)’
[   36s]       In the expression: forkWithUnmaskN name (const ma)
[   36s]       In an equation for ‘forkN’:
[   36s]           forkN name ma = forkWithUnmaskN name (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:581:12)
[   36s]         forkN :: String -> m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:581:1)
[   36s]     |
[   36s] 581 | forkN name ma = forkWithUnmaskN name (const ma)
[   36s]     |                                       ^^^^^^^^
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:588:47: error:
[   36s]     • Couldn't match type ‘b1’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b1 -> m ()
[   36s]       Cannot instantiate unification variable ‘b1’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the third argument of ‘forkOnWithUnmaskN’, namely ‘(const ma)’
[   36s]       In the expression: forkOnWithUnmaskN name i (const ma)
[   36s]       In an equation for ‘forkOnN’:
[   36s]           forkOnN name i ma = forkOnWithUnmaskN name i (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:588:16)
[   36s]         forkOnN :: String -> Int -> m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:588:1)
[   36s]     |
[   36s] 588 | forkOnN name i ma = forkOnWithUnmaskN name i (const ma)
[   36s]     |                                               ^^^^^^^^
[   36s] 
[   36s] Control/Monad/Conc/Class.hs:595:43: error:
[   36s]     • Couldn't match type ‘b0’ with ‘forall a. m a -> m a’
[   36s]       Expected: (forall a. m a -> m a) -> m ()
[   36s]         Actual: b0 -> m ()
[   36s]       Cannot instantiate unification variable ‘b0’
[   36s]       with a type involving polytypes: forall a. m a -> m a
[   36s]     • In the second argument of ‘forkOSWithUnmaskN’, namely
[   36s]         ‘(const ma)’
[   36s]       In the expression: forkOSWithUnmaskN name (const ma)
[   36s]       In an equation for ‘forkOSN’:
[   36s]           forkOSN name ma = forkOSWithUnmaskN name (const ma)
[   36s]     • Relevant bindings include
[   36s]         ma :: m () (bound at Control/Monad/Conc/Class.hs:595:14)
[   36s]         forkOSN :: String -> m () -> m (ThreadId m)
[   36s]           (bound at Control/Monad/Conc/Class.hs:595:1)
[   36s]     |
[   36s] 595 | forkOSN name ma = forkOSWithUnmaskN name (const ma)
[   36s]     |                                           ^^^^^^^^
barrucadu commented 3 years ago

Thanks for letting me know, concurrency-1.11.0.1 and dejafu-2.4.0.2 are now on Hackage and fix the error.