Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Make
two
strict in its key arguments
`two` wasn't strict in its key arguments. We thought this was okay, because its key arguments are always in WHNF and it's marked `INLINE`. But `two` is defined as a *recursive* `go` function (I haven't looked into why), which can't be inlined. I believe that's the reason GHC doesn't *realize* that the keys are in WHNF. Anyway, the end result was that `two` would defer the creation of the `Leaf` values stored in the array, producing very silly thunks. Fixes haskell-unordered-containers#232
- Loading branch information