From 9a6cc9574acaf2be87b30dc660fc3fe3f5ca6168 Mon Sep 17 00:00:00 2001 From: Sam Truzjan Date: Sat, 28 Sep 2013 04:45:36 +0400 Subject: Remove overlapping instances --- src/Data/BEncode.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Data/BEncode.hs b/src/Data/BEncode.hs index c869d93..e932254 100644 --- a/src/Data/BEncode.hs +++ b/src/Data/BEncode.hs @@ -366,6 +366,8 @@ instance BEncodable BString where fromBEncode _ = decodingError "BString" {-# INLINE fromBEncode #-} +{- NOTE: those overlap with instance BEncodable a => BEncodable [a] + instance BEncodable BList where toBEncode = BList {-# INLINE toBEncode #-} @@ -381,6 +383,7 @@ instance BEncodable BDict where fromBEncode (BDict d) = pure d fromBEncode _ = decodingError "BDict" {-# INLINE fromBEncode #-} +-} {-------------------------------------------------------------------- -- Integral instances @@ -495,7 +498,7 @@ instance BEncodable Text where {-# INLINE fromBEncode #-} instance BEncodable a => BEncodable [a] where - {-# SPECIALIZE instance BEncodable [BEncode] #-} + {-# SPECIALIZE instance BEncodable BList #-} toBEncode = BList . map toBEncode {-# INLINE toBEncode #-} @@ -504,7 +507,7 @@ instance BEncodable a => BEncodable [a] where {-# INLINE fromBEncode #-} instance BEncodable a => BEncodable (Map ByteString a) where - {-# SPECIALIZE instance BEncodable (Map ByteString BEncode) #-} + {-# SPECIALIZE instance BEncodable BDict #-} toBEncode = BDict . M.map toBEncode {-# INLINE toBEncode #-} -- cgit v1.2.3