Export of internal Abseil changes.
-- de82143f509d8fd6e70efc9eaed35582054a7443 by Abseil Team <absl-team@google.com>: Mark optional::reset() with the ABSL_ATTRIBUTE_REINITIALIZES attribute. This prevents false positives in the clang-tidy check bugprone-use-after-move; it allows reset() to be called on a moved-from optional without any warnings, and the optional will thereafter be regarded as initialized again. PiperOrigin-RevId: 210502364 -- e645e68c44df957271e109aca6d68af530e27d04 by Derek Mauro <dmauro@google.com>: Mark //absl/synchronization:thread_pool as only visible to internal Abseil targets since it is internal-only. PiperOrigin-RevId: 210406260 -- 09b53240efba9bf73190eaea91fe33b9eafc3529 by Abseil Team <absl-team@google.com>: Add support for the [[clang::reinitializes]] attribute. This will be used to prevent false positives in the clang-tidy check bugprone-use-after-move. PiperOrigin-RevId: 210377317 GitOrigin-RevId: de82143f509d8fd6e70efc9eaed35582054a7443 Change-Id: Ibac1ee694f7b5b9f5aff8670559e49505ff8ee11
This commit is contained in:
parent
28080f5f05
commit
d6df769173
3 changed files with 19 additions and 1 deletions
|
|
@ -59,6 +59,7 @@ using std::nullopt;
|
|||
#include <type_traits>
|
||||
#include <utility>
|
||||
|
||||
#include "absl/base/attributes.h"
|
||||
#include "absl/memory/memory.h"
|
||||
#include "absl/meta/type_traits.h"
|
||||
#include "absl/types/bad_optional_access.h"
|
||||
|
|
@ -700,7 +701,7 @@ class optional : private optional_internal::optional_data<T>,
|
|||
// optional::reset()
|
||||
//
|
||||
// Destroys the inner `T` value of an `absl::optional` if one is present.
|
||||
void reset() noexcept { this->destruct(); }
|
||||
ABSL_ATTRIBUTE_REINITIALIZES void reset() noexcept { this->destruct(); }
|
||||
|
||||
// optional::emplace()
|
||||
//
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue