From 9e8b924f68c4cdb6c7ae88f274baa3560aaa305e Mon Sep 17 00:00:00 2001
From: Herbert Valerio Riedel <hvr@gnu.org>
Date: Fri, 3 Jan 2014 12:04:27 +0100
Subject: [PATCH] Use a more sensible `hashInteger` implementation

This makes `hashInteger` behave the same way as `integer-gmp`s
`hashInteger`.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
---
 GHC/Integer/Type.hs | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/GHC/Integer/Type.hs b/GHC/Integer/Type.hs
index 144a52c..5deecd2 100644
--- a/GHC/Integer/Type.hs
+++ b/GHC/Integer/Type.hs
@@ -503,10 +503,9 @@ signumInteger (Negative _) = negativeOneInteger
 signumInteger Naught       = Naught
 signumInteger (Positive _) = oneInteger
 
--- XXX This isn't a great hash function
 {-# NOINLINE hashInteger #-}
 hashInteger :: Integer -> Int#
-hashInteger (!_) = 42#
+hashInteger = integerToInt
 
 -------------------------------------------------------------------
 -- The hard work is done on positive numbers
-- 
GitLab