Skip to content
Browse files

Removing broken specialization of std::hash<std::tuple>

Summary: ^

Test Plan: Unit tests

Reviewed By: delong.j@fb.com

FB internal diff: D543586
  • Loading branch information...
1 parent be7be7e commit cc1518dbf05f60c5ac480209c96a48a98d01455f Tom Jackson committed with tudor Aug 8, 2012
Showing with 11 additions and 9 deletions.
  1. +0 −9 folly/Hash.h
  2. +11 −0 folly/test/HashTest.cpp
View
9 folly/Hash.h
@@ -338,15 +338,6 @@ namespace std {
return folly::hash::hash_combine(x.first, x.second);
}
};
-
- // Same as above, but for arbitrary tuples.
- template <typename... Ts>
- class hash<std::tuple<Ts...> > {
- public:
- size_t operator()(const Ts&... ts) const {
- return folly::hash::hash_combine(ts...);
- }
- };
} // namespace std
#endif
View
11 folly/test/HashTest.cpp
@@ -19,6 +19,7 @@
#include <gtest/gtest.h>
#include <stdint.h>
#include <unordered_map>
+#include <utility>
using namespace folly::hash;
@@ -172,6 +173,16 @@ TEST(Hash, hasher) {
EXPECT_EQ(get_default(m, 4), 5);
}
+TEST(Hash, pair) {
+ auto a = std::make_pair(1, 2);
+ auto b = std::make_pair(3, 4);
+ auto c = std::make_pair(1, 2);
+ EXPECT_EQ(hash_combine(a),
+ hash_combine(c));
+ EXPECT_NE(hash_combine(b),
+ hash_combine(c));
+}
+
TEST(Hash, hash_combine) {
EXPECT_NE(hash_combine(1, 2), hash_combine(2, 1));
}

0 comments on commit cc1518d

Please sign in to comment.
Something went wrong with that request. Please try again.