Due to the type change of tryMakeLockHandle
in commit ef3ab0769, compilation of git-annex is currently failing on Windows with the below error. I am unsure of the best way to fix it.
Utility\LockPool\Windows.hs:25:19: error:
* Couldn't match type `(LockHandle, t1)' with `LockHandle'
Expected type: IO (Maybe LockHandle)
Actual type: IO (Maybe (LockHandle, t1))
* In the expression:
tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockShared)
(\ f _ -> fmap mk <$> F.lockShared f)
In an equation for `lockShared':
lockShared file
= tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockShared)
(\ f _ -> fmap mk <$> F.lockShared f)
|
25 | lockShared file = tryMakeLockHandle P.lockPool file
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
Utility\LockPool\Windows.hs:27:18: error:
* Couldn't match type `FileLockOps' with `(FileLockOps, t1)'
Expected type: IO (Maybe (FileLockOps, t1))
Actual type: IO (Maybe FileLockOps)
* In the expression: fmap mk <$> F.lockShared f
In the fourth argument of `tryMakeLockHandle', namely
`(\ f _ -> fmap mk <$> F.lockShared f)'
In the expression:
tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockShared)
(\ f _ -> fmap mk <$> F.lockShared f)
|
27 | (\f _ -> fmap mk <$> F.lockShared f)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
Utility\LockPool\Windows.hs:36:22: error:
* Couldn't match type `(LockHandle, t0)' with `LockHandle'
Expected type: IO (Maybe LockHandle)
Actual type: IO (Maybe (LockHandle, t0))
* In the expression:
tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockExclusive)
(\ f _ -> fmap mk <$> F.lockExclusive f)
In an equation for `lockExclusive':
lockExclusive file
= tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockExclusive)
(\ f _ -> fmap mk <$> F.lockExclusive f)
|
36 | lockExclusive file = tryMakeLockHandle P.lockPool file
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
Utility\LockPool\Windows.hs:38:18: error:
* Couldn't match type `FileLockOps' with `(FileLockOps, t0)'
Expected type: IO (Maybe (FileLockOps, t0))
Actual type: IO (Maybe FileLockOps)
* In the expression: fmap mk <$> F.lockExclusive f
In the fourth argument of `tryMakeLockHandle', namely
`(\ f _ -> fmap mk <$> F.lockExclusive f)'
In the expression:
tryMakeLockHandle
P.lockPool file (\ p f -> P.tryTakeLock p f LockExclusive)
(\ f _ -> fmap mk <$> F.lockExclusive f)
|
38 | (\f _ -> fmap mk <$> F.lockExclusive f)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^