{"action":"closed","issue":{"url":"https://api.github.com/repos/athanclark/pred-trie/issues/3","labels_url":"https://api.github.com/repos/athanclark/pred-trie/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/athanclark/pred-trie/issues/3/comments","events_url":"https://api.github.com/repos/athanclark/pred-trie/issues/3/events","html_url":"https://github.com/athanclark/pred-trie/issues/3","id":124530869,"number":3,"title":"pred-trie 0.4.0 build failure","user":{"login":"DanBurton","id":713692,"avatar_url":"https://avatars.githubusercontent.com/u/713692?v=3","gravatar_id":"","url":"https://api.github.com/users/DanBurton","html_url":"https://github.com/DanBurton","followers_url":"https://api.github.com/users/DanBurton/followers","following_url":"https://api.github.com/users/DanBurton/following{/other_user}","gists_url":"https://api.github.com/users/DanBurton/gists{/gist_id}","starred_url":"https://api.github.com/users/DanBurton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DanBurton/subscriptions","organizations_url":"https://api.github.com/users/DanBurton/orgs","repos_url":"https://api.github.com/users/DanBurton/repos","events_url":"https://api.github.com/users/DanBurton/events{/privacy}","received_events_url":"https://api.github.com/users/DanBurton/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-01-01T04:51:09Z","updated_at":"2016-01-03T11:48:06Z","closed_at":"2016-01-03T11:48:06Z","body":"Reproduce this like so:\r\n\r\n* `stack unpack pred-trie-0.4.0 && cd pred-trie-0.4.0`\r\n* `stack init --resolver 2015-12-30`\r\n* Add the following extra-deps to the generated stack.yaml\r\n  - composition-extra-2.0.0\r\n  - tries-0.0.4\r\n  - rose-trees-0.0.3\r\n  - sets-0.0.5\r\n* `stack build`\r\n\r\n```\r\nPreprocessing library pred-trie-0.4.0...\r\n[1 of 2] Compiling Data.Trie.Pred.Step ( src/Data/Trie/Pred/Step.hs, dist/build/\r\nData/Trie/Pred/Step.o )\r\n\r\nsrc/Data/Trie/Pred/Step.hs:49:10: Warning:\r\n    No explicit implementation for\r\n      ‘insert’\r\n    In the instance declaration for ‘Trie NonEmpty s (PredStep c)’\r\n\r\nsrc/Data/Trie/Pred/Step.hs:73:10: Warning:\r\n    No explicit implementation for\r\n      ‘insert’\r\n    In the instance declaration for ‘Trie NonEmpty s (PredSteps c)’\r\n\r\n[2 of 2] Compiling Data.Trie.Pred   ( src/Data/Trie/Pred.hs, dist/build/Data/Tri\r\ne/Pred.o )\r\n\r\nsrc/Data/Trie/Pred.hs:110:7:\r\n    Couldn't match expected type ‘HT.HashMapChildren t s t1’\r\n                with actual type ‘(Maybe t2, Maybe (PredTrie s t2))’\r\n    Relevant bindings include\r\n      xs :: HM.HashMap s (HT.HashMapChildren t s t1)\r\n        (bound at src/Data/Trie/Pred.hs:109:27)\r\n      goLit :: HT.HashMapStep t s t1 -> Maybe (NonEmpty s, t2, [s])\r\n        (bound at src/Data/Trie/Pred.hs:109:5)\r\n      goPred :: forall t.\r\n                PredStep PredTrie s t -> Maybe (NonEmpty s, t, [s])\r\n        (bound at src/Data/Trie/Pred.hs:118:5)\r\n      ps :: [PredStep PredTrie s a]\r\n        (bound at src/Data/Trie/Pred.hs:106:41)\r\n      ls :: HT.HashMapStep PredTrie s a\r\n        (bound at src/Data/Trie/Pred.hs:106:27)\r\n      ts :: [s] (bound at src/Data/Trie/Pred.hs:106:13)\r\n      (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant\r\n-binds)\r\n    In the pattern: (mx, mxs)\r\n    In a stmt of a 'do' block: (mx, mxs) <- HM.lookup t xs\r\n    In the expression:\r\n      do { (mx, mxs) <- HM.lookup t xs;\r\n           let mFoundHere = ...;\r\n           if null ts then\r\n               mFoundHere\r\n           else\r\n               getFirst\r\n               $ First\r\n                   (do { (pre, y, suff) <- matchPT (NE.fromList ts) =<< mxs;\r\n                         return (t :| NE.toList pre, y, suff) })\r\n                 <> First mFoundHere }\r\n\r\nsrc/Data/Trie/Pred.hs:135:7:\r\n    Couldn't match expected type ‘HT.HashMapChildren t s t1’\r\n                with actual type ‘(Maybe t2, Maybe (PredTrie s t2))’\r\n    Relevant bindings include\r\n      xs :: HM.HashMap s (HT.HashMapChildren t s t1)\r\n        (bound at src/Data/Trie/Pred.hs:134:27)\r\n      goLit :: HT.HashMapStep t s t1 -> Maybe [(NonEmpty s, t2, [s])]\r\n        (bound at src/Data/Trie/Pred.hs:134:5)\r\n      goPred :: forall t.\r\n                PredStep PredTrie s t -> Maybe [(NonEmpty s, t, [s])]\r\n        (bound at src/Data/Trie/Pred.hs:144:5)\r\n      ps :: [PredStep PredTrie s a]\r\n        (bound at src/Data/Trie/Pred.hs:131:43)\r\n      ls :: HT.HashMapStep PredTrie s a\r\n        (bound at src/Data/Trie/Pred.hs:131:29)\r\n      ts :: [s] (bound at src/Data/Trie/Pred.hs:131:15)\r\n      (Some bindings suppressed; use -fmax-relevant-binds=N or -fno-max-relevant-binds)\r\n    In the pattern: (mx, mxs)\r\n    In a stmt of a 'do' block: (mx, mxs) <- HM.lookup t xs\r\n    In the expression:\r\n      do { (mx, mxs) <- HM.lookup t xs;\r\n           let mFoundHere = ...\r\n               prependAncestry (pre, x, suff) = ...;\r\n           if null ts then\r\n               mFoundHere\r\n           else\r\n               do { foundHere <- mFoundHere;\r\n                    .... } }\r\n```"}}