diff options
author | Abseil Team <absl-team@google.com> | 2024-01-30 12:52:43 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-01-30 12:53:38 -0800 |
commit | c44dd5acd7848a175d1fb939cdb81a4cf8d4c912 (patch) | |
tree | 4f853927f1aa61dc3fd658dbba141f6d9148b1db /absl/container/flat_hash_map_test.cc | |
parent | 779a3565ac6c5b69dd1ab9183e500a27633117d5 (diff) | |
download | abseil-c44dd5acd7848a175d1fb939cdb81a4cf8d4c912.tar.gz abseil-c44dd5acd7848a175d1fb939cdb81a4cf8d4c912.tar.bz2 abseil-c44dd5acd7848a175d1fb939cdb81a4cf8d4c912.zip |
Early return from destroy_slots for trivially destructible types in flat_hash_{*}.
PiperOrigin-RevId: 602813933
Change-Id: I744fe438281755a141b2fd47e54ab9c6c0fad5a3
Diffstat (limited to 'absl/container/flat_hash_map_test.cc')
-rw-r--r-- | absl/container/flat_hash_map_test.cc | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/absl/container/flat_hash_map_test.cc b/absl/container/flat_hash_map_test.cc index d90fe9d5..8ef1a62b 100644 --- a/absl/container/flat_hash_map_test.cc +++ b/absl/container/flat_hash_map_test.cc @@ -22,6 +22,7 @@ #include "gtest/gtest.h" #include "absl/container/internal/hash_generator_testing.h" +#include "absl/container/internal/test_allocator.h" #include "absl/container/internal/unordered_map_constructor_test.h" #include "absl/container/internal/unordered_map_lookup_test.h" #include "absl/container/internal/unordered_map_members_test.h" @@ -351,6 +352,17 @@ TEST(FlatHashMap, RecursiveTypeCompiles) { t.m[0] = RecursiveType{}; } +TEST(FlatHashMap, FlatHashMapPolicyDestroyReturnsTrue) { + EXPECT_TRUE( + (decltype(FlatHashMapPolicy<int, char>::destroy<std::allocator<char>>( + nullptr, nullptr))())); + EXPECT_FALSE( + (decltype(FlatHashMapPolicy<int, char>::destroy<CountingAllocator<char>>( + nullptr, nullptr))())); + EXPECT_FALSE((decltype(FlatHashMapPolicy<int, std::unique_ptr<int>>::destroy< + std::allocator<char>>(nullptr, nullptr))())); +} + } // namespace } // namespace container_internal ABSL_NAMESPACE_END |