diff options
author | Abseil Team <absl-team@google.com> | 2020-10-08 08:27:41 -0700 |
---|---|---|
committer | Mark Barolak <mbar@google.com> | 2020-10-08 11:34:42 -0400 |
commit | e63a5a61045e516b7b3dbca090e2b9ff1d057e46 (patch) | |
tree | bc64a59cf7693ef7a2fcb6560f2447ea4f03f18b /absl/algorithm/container_test.cc | |
parent | c678d6c6bf70d47b4aa5bc3576a3a769775bc162 (diff) |
Export of internal Abseil changes
--
430bda42820b619b346201bc42769d014228e825 by Gennadiy Rozental <rogeeff@google.com>:
Update version for CMake and Bazel
PiperOrigin-RevId: 336089889
--
0a36f989acb0e6f7d2f04039c600b0934c44ffed by Abseil Team <absl-team@google.com>:
changes how non-equality is evaluated
absl::c_mismatch is based on std::mismatch, which requires that its
iterators' reference types meet the requirements of
Cpp17EqualityComparable[1]. The previous CL mistakenly wrote
absl::c_mismatch using `*first1 != *first2` which assumes that the
reference types model std::equality_comparable[2] (which was only added
in C++20).
This CL reverts that behaviour.
[0]: http://wg21.link/mismatch
[1]: http://wg21.link/utility.arg.requirements#tab:cpp17.equalitycomparable
[2]: http://wg21.link/concept.equalitycomparable
PiperOrigin-RevId: 335897465
--
7cb902f079838081a15f8b72e0cef46beab653f2 by Derek Mauro <dmauro@google.com>:
Disable a raw_hash_map_allocator.cc test that doesn't build
due to a noexcept bug in gcc 5.4 and 5.5
PiperOrigin-RevId: 335876843
GitOrigin-RevId: 430bda42820b619b346201bc42769d014228e825
Change-Id: I94d5b8e03e0a91d81923aa831f6f63c625e0b836
Diffstat (limited to 'absl/algorithm/container_test.cc')
-rw-r--r-- | absl/algorithm/container_test.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/absl/algorithm/container_test.cc b/absl/algorithm/container_test.cc index fb940560..605afc80 100644 --- a/absl/algorithm/container_test.cc +++ b/absl/algorithm/container_test.cc @@ -183,6 +183,17 @@ TEST_F(NonMutatingTest, Mismatch) { EXPECT_EQ(result.first, sequence_.end()); EXPECT_EQ(result.second, std::prev(vector_.end())); } + { + struct NoNotEquals { + constexpr bool operator==(NoNotEquals) const { return true; } + constexpr bool operator!=(NoNotEquals) const = delete; + }; + std::vector<NoNotEquals> first; + std::list<NoNotEquals> second; + + // Check this still compiles. + absl::c_mismatch(first, second); + } } TEST_F(NonMutatingTest, MismatchWithPredicate) { |