Compiler crash building latest binary package in hackage with 7.0.1-rc1
My understanding is that the binary package should now be provided separately from the ghc-binary package. Unfortunately, it does not currently compile:
src/Data/Binary/Get.hs:366:27:
Couldn't match type `s' with `s1'
because this skolem type variable would escape: `s1'
This skolem is bound by the polymorphic type `forall s. ST s a'
The following variables have types that mention s
first :: STRef s L.ByteString
-> Int64
-> L.ByteString
-> ST s L.ByteString
(bound at src/Data/Binary/Get.hs:373:9)
In the first argument of `runST', namely
`(do { r <- newSTRef undefined;
xs <- first r i ps;
ys <- unsafeInterleaveST (readSTRef r);
return (xs, ys) })'
In the expression:
runST
(do { r <- newSTRef undefined;
xs <- first r i ps;
ys <- unsafeInterleaveST (readSTRef r);
return (xs, ys) })
In an equation for `splitAtST':
splitAtST i ps
= runST
(do { r <- newSTRef undefined;
xs <- first r i ps;
ys <- unsafeInterleaveST (readSTRef r);
return (xs, ys) })
where
first r 0 xs@(L.Chunk _ _) = writeSTRef r xs >> return L.Empty
first r _ L.Empty = writeSTRef r L.Empty >> return L.Empty
first r n (L.Chunk x xs)
| n < l
= do { writeSTRef r (L.Chunk (B.drop (fromIntegral n) x) xs);
.... }
| otherwise
= do { writeSTRef r (L.drop (n - l) xs);
.... }
where
l = fromIntegral (B.length x)
Trac metadata
Trac field | Value |
---|---|
Version | 7.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |