THRIFT-3570 Remove duplicate instances that are added by upstream
Client: Haskell
Patch: Nobuaki Sukegawa
This closes #808
diff --git a/lib/hs/Thrift.cabal b/lib/hs/Thrift.cabal
index 6f6a150..fd3f692 100644
--- a/lib/hs/Thrift.cabal
+++ b/lib/hs/Thrift.cabal
@@ -40,7 +40,7 @@
Hs-Source-Dirs:
src
Build-Depends:
- base >= 4, base < 5, containers, ghc-prim, attoparsec, binary, bytestring >= 0.10, base64-bytestring, hashable, HTTP, text, unordered-containers, vector, QuickCheck, split
+ base >= 4, base < 5, containers, ghc-prim, attoparsec, binary, bytestring >= 0.10, base64-bytestring, hashable, HTTP, text, unordered-containers >= 0.2.6, vector, QuickCheck >= 2.8.2, split
if flag(network-uri)
build-depends: network-uri >= 2.6, network >= 2.6
else
@@ -77,4 +77,4 @@
Hs-Source-Dirs: test
Ghc-Options: -Wall
main-is: Spec.hs
- Build-Depends: base, thrift, hspec, QuickCheck, bytestring >= 0.10, unordered-containers
+ Build-Depends: base, thrift, hspec, QuickCheck >= 2.8.2, bytestring >= 0.10, unordered-containers >= 0.2.6
diff --git a/lib/hs/src/Thrift/Arbitraries.hs b/lib/hs/src/Thrift/Arbitraries.hs
index 3a60ed2..e9c0fc3 100644
--- a/lib/hs/src/Thrift/Arbitraries.hs
+++ b/lib/hs/src/Thrift/Arbitraries.hs
@@ -26,12 +26,6 @@
instance Arbitrary ByteString where
arbitrary = BS.pack . filter (/= 0) <$> arbitrary
-instance (Ord k, Arbitrary k, Arbitrary v) => Arbitrary (Map k v) where
- arbitrary = Map.fromList <$> arbitrary
-
-instance (Ord k, Arbitrary k) => Arbitrary (Set.Set k) where
- arbitrary = Set.fromList <$> arbitrary
-
instance (Arbitrary k) => Arbitrary (Vector.Vector k) where
arbitrary = Vector.fromList <$> arbitrary
diff --git a/lib/hs/src/Thrift/Types.hs b/lib/hs/src/Thrift/Types.hs
index 8719e72..2a20025 100644
--- a/lib/hs/src/Thrift/Types.hs
+++ b/lib/hs/src/Thrift/Types.hs
@@ -31,12 +31,6 @@
import qualified Data.HashSet as Set
import qualified Data.Vector as Vector
-instance (Hashable k, Hashable v) => Hashable (Map.HashMap k v) where
- hashWithSalt salt = foldl' hashWithSalt salt . Map.toList
-
-instance (Hashable a) => Hashable (Set.HashSet a) where
- hashWithSalt = foldl' hashWithSalt
-
instance (Hashable a) => Hashable (Vector.Vector a) where
hashWithSalt = Vector.foldl' hashWithSalt