Commit cc1518db authored by Tom Jackson's avatar Tom Jackson Committed by Tudor Bosman

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

Summary: ^

Test Plan: Unit tests

Reviewed By: delong.j@fb.com

FB internal diff: D543586
parent be7be7e2
......@@ -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
......@@ -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));
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment