diff options
author | Abseil Team <absl-team@google.com> | 2023-12-26 21:22:51 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-12-26 21:23:47 -0800 |
commit | f9228ec834edef9b623d4824dd006890c203adc3 (patch) | |
tree | c41a1f543553fb5c8416005bfdb55048b2902d10 /absl/container/internal/hash_generator_testing.cc | |
parent | bd47468324e0db12aac9a57128d40fc23c233fb4 (diff) | |
download | abseil-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.cc | 12 |
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(); |