From 8033618842bfa9398043785e84769bfb5066f6cb Mon Sep 17 00:00:00 2001 From: Herbert Valerio Riedel Date: Thu, 13 Sep 2012 01:34:41 +0200 Subject: [PATCH] Add `Num` constraint for `base-4.6` compatibility Starting with `base-4.6` the `Bits` class does not have a `Num` superclass anymore. --- src/Snap/Internal/Parsing.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Snap/Internal/Parsing.hs b/src/Snap/Internal/Parsing.hs index d061c030..6a03adae 100644 --- a/src/Snap/Internal/Parsing.hs +++ b/src/Snap/Internal/Parsing.hs @@ -465,7 +465,7 @@ strictize :: L.ByteString -> ByteString strictize = S.concat . L.toChunks ------------------------------------------------------------------------------ -unsafeFromHex :: (Enum a, Bits a) => ByteString -> a +unsafeFromHex :: (Enum a, Num a, Bits a) => ByteString -> a unsafeFromHex = S.foldl' f 0 where #if MIN_VERSION_base(4,5,0) @@ -484,7 +484,7 @@ unsafeFromHex = S.foldl' f 0 ------------------------------------------------------------------------------ -unsafeFromInt :: (Enum a, Bits a) => ByteString -> a +unsafeFromInt :: (Enum a, Num a, Bits a) => ByteString -> a unsafeFromInt = S.foldl' f 0 where f !cnt !i = cnt * 10 + toEnum (digitToInt i)