aboutsummaryrefslogtreecommitdiff
path: root/absl/container/internal/hash_generator_testing.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2023-12-26 21:22:51 -0800
committerCopybara-Service <copybara-worker@google.com>2023-12-26 21:23:47 -0800
commitf9228ec834edef9b623d4824dd006890c203adc3 (patch)
treec41a1f543553fb5c8416005bfdb55048b2902d10 /absl/container/internal/hash_generator_testing.cc
parentbd47468324e0db12aac9a57128d40fc23c233fb4 (diff)
downloadabseil-f9228ec834edef9b623d4824dd006890c203adc3.tar.gz
abseil-f9228ec834edef9b623d4824dd006890c203adc3.tar.bz2
abseil-f9228ec834edef9b623d4824dd006890c203adc3.zip
Migrate static objects to NoDestructor in tests, testing libraries and benchmarks.
PiperOrigin-RevId: 593918110 Change-Id: Ide100c69b10e28011af17c7f82bb10eea072cad4
Diffstat (limited to 'absl/container/internal/hash_generator_testing.cc')
-rw-r--r--absl/container/internal/hash_generator_testing.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/absl/container/internal/hash_generator_testing.cc b/absl/container/internal/hash_generator_testing.cc
index 59cc5aac..e89dfdb5 100644
--- a/absl/container/internal/hash_generator_testing.cc
+++ b/absl/container/internal/hash_generator_testing.cc
@@ -16,6 +16,8 @@
#include <deque>
+#include "absl/base/no_destructor.h"
+
namespace absl {
ABSL_NAMESPACE_BEGIN
namespace container_internal {
@@ -41,11 +43,11 @@ class RandomDeviceSeedSeq {
} // namespace
std::mt19937_64* GetSharedRng() {
- static auto* rng = [] {
+ static absl::NoDestructor<std::mt19937_64> rng([] {
RandomDeviceSeedSeq seed_seq;
- return new std::mt19937_64(seed_seq);
- }();
- return rng;
+ return std::mt19937_64(seed_seq);
+ }());
+ return rng.get();
}
std::string Generator<std::string>::operator()() const {
@@ -59,7 +61,7 @@ std::string Generator<std::string>::operator()() const {
}
absl::string_view Generator<absl::string_view>::operator()() const {
- static auto* arena = new std::deque<std::string>();
+ static absl::NoDestructor<std::deque<std::string>> arena;
// NOLINTNEXTLINE(runtime/int)
std::uniform_int_distribution<short> chars(0x20, 0x7E);
arena->emplace_back();