{"action":"closed","issue":{"url":"https://api.github.com/repos/tibbe/unordered-containers/issues/84","repository_url":"https://api.github.com/repos/tibbe/unordered-containers","labels_url":"https://api.github.com/repos/tibbe/unordered-containers/issues/84/labels{/name}","comments_url":"https://api.github.com/repos/tibbe/unordered-containers/issues/84/comments","events_url":"https://api.github.com/repos/tibbe/unordered-containers/issues/84/events","html_url":"https://github.com/tibbe/unordered-containers/issues/84","id":39404716,"number":84,"title":"ghc 6.12.3 cannot build current versions of unordered-containers","user":{"login":"peti","id":28323,"avatar_url":"https://avatars.githubusercontent.com/u/28323?v=3","gravatar_id":"","url":"https://api.github.com/users/peti","html_url":"https://github.com/peti","followers_url":"https://api.github.com/users/peti/followers","following_url":"https://api.github.com/users/peti/following{/other_user}","gists_url":"https://api.github.com/users/peti/gists{/gist_id}","starred_url":"https://api.github.com/users/peti/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/peti/subscriptions","organizations_url":"https://api.github.com/users/peti/orgs","repos_url":"https://api.github.com/users/peti/repos","events_url":"https://api.github.com/users/peti/events{/privacy}","received_events_url":"https://api.github.com/users/peti/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2014-08-04T09:41:05Z","updated_at":"2016-11-15T23:23:51Z","closed_at":"2016-11-15T23:23:51Z","body":"A complete build log that is at http://hydra.cryp.to/build/160244/nixlog/1/raw. I'm citing the part that looks relevant to me: \n\n```\nData/HashMap/Base.hs:459:4:\n    All of the type variables in the constraint `Eq k'\n    are already in scope (at least one must be universally quantified here)\n        (Use -XFlexibleContexts to lift this restriction)\n    In the type signature for `go':\n      go :: (Eq k, Hashable k) =>\n            Hash -> k -> v -> Shift -> HashMap k v -> ST s (HashMap k v)\n    In the definition of `unsafeInsertWith':\n        unsafeInsertWith f k0 v0 m0\n                           = runST (go h0 k0 v0 0 m0)\n                           where\n                               h0 = hash k0\n                               go ::\n                                 (Eq k, Hashable k) =>\n                                 Hash -> k -> v -> Shift -> HashMap k v -> ST s (HashMap k v)\n                               go !h !k x !_ Empty = return $! Leaf h (L k x)\n                               go h k x s (Leaf hy (l@(L ky y)))\n                                    | hy == h\n                                    = if ky == k then\n                                            return $! Leaf h (L k (f x y))\n                                      else  return $! collision h l (L k x)\n                                    | otherwise = two s h k x hy ky y\n                               go h k x s (t@(BitmapIndexed b ary))\n                                    | b .&. m == 0\n                                    = do { ary' <- A.insertM ary i $! Leaf h (L k x);\n                                           .... }\n                                    | otherwise\n                                    = do { st <- A.indexM ary i;\n                                           .... }\n                                    where\n                                        m = mask h s\n                                        i = sparseIndex b m\n                               go h k x s (t@(Full ary))\n                                    = do { st <- A.indexM ary i;\n                                           .... }\n                                    where\n                                        i = index h s\n                               go h k x s (t@(Collision hy v))\n                                    | h == hy = return $! Collision h (updateOrSnocWith f k x v)\n                                    | otherwise\n                                    = go h k x s $ BitmapIndexed (mask hy s) (A.singleton t)\n\nData/HashMap/Base.hs:459:4:\n    All of the type variables in the constraint `Hashable k'\n    are already in scope (at least one must be universally quantified here)\n        (Use -XFlexibleContexts to lift this restriction)\n    In the type signature for `go':\n      go :: (Eq k, Hashable k) =>\n            Hash -> k -> v -> Shift -> HashMap k v -> ST s (HashMap k v)\n    In the definition of `unsafeInsertWith':\n        unsafeInsertWith f k0 v0 m0\n                           = runST (go h0 k0 v0 0 m0)\n                           where\n                               h0 = hash k0\n                               go ::\n                                 (Eq k, Hashable k) =>\n                                 Hash -> k -> v -> Shift -> HashMap k v -> ST s (HashMap k v)\n                               go !h !k x !_ Empty = return $! Leaf h (L k x)\n                               go h k x s (Leaf hy (l@(L ky y)))\n                                    | hy == h\n                                    = if ky == k then\n                                            return $! Leaf h (L k (f x y))\n                                      else  return $! collision h l (L k x)\n                                    | otherwise = two s h k x hy ky y\n                               go h k x s (t@(BitmapIndexed b ary))\n                                    | b .&. m == 0\n                                    = do { ary' <- A.insertM ary i $! Leaf h (L k x);\n                                           .... }\n                                    | otherwise\n                                    = do { st <- A.indexM ary i;\n                                           .... }\n                                    where\n                                        m = mask h s\n                                        i = sparseIndex b m\n                               go h k x s (t@(Full ary))\n                                    = do { st <- A.indexM ary i;\n                                           .... }\n                                    where\n                                        i = index h s\n                               go h k x s (t@(Collision hy v))\n                                    | h == hy = return $! Collision h (updateOrSnocWith f k x v)\n                                    | otherwise\n                                    = go h k x s $ BitmapIndexed (mask hy s) (A.singleton t)\n```\n"}}
{"actor":{"display_login":"tibbe"}}