diff options
author | Abseil Team <absl-team@google.com> | 2021-08-19 20:52:14 -0700 |
---|---|---|
committer | Andy Getz <durandal@google.com> | 2021-08-20 14:38:00 -0400 |
commit | f39e6ad4753e06d4a0d6a9bf6310478757479984 (patch) | |
tree | f87676d1885915edcf6f353cbd85a05dc82ffca3 | |
parent | a05366d851c5cb88065272f951e03955197e7c11 (diff) |
Export of internal Abseil changes
--
82011e44e917fb70fa00078f0bad7f787580bd8e by Abseil Team <absl-team@google.com>:
Add lifetime annotations to status methods that return references.
PiperOrigin-RevId: 391907063
GitOrigin-RevId: 82011e44e917fb70fa00078f0bad7f787580bd8e
Change-Id: Icb2cafbf5eb1201b3bdb56a17263073e22b642e7
-rw-r--r-- | absl/status/statusor.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/absl/status/statusor.h b/absl/status/statusor.h index 235a3433..7fa623fd 100644 --- a/absl/status/statusor.h +++ b/absl/status/statusor.h @@ -518,10 +518,10 @@ class StatusOr : private internal_statusor::StatusOrData<T>, // // The `std::move` on statusor instead of on the whole expression enables // warnings about possible uses of the statusor object after the move. - const T& value() const&; - T& value() &; - const T&& value() const&&; - T&& value() &&; + const T& value() const& ABSL_ATTRIBUTE_LIFETIME_BOUND; + T& value() & ABSL_ATTRIBUTE_LIFETIME_BOUND; + const T&& value() const&& ABSL_ATTRIBUTE_LIFETIME_BOUND; + T&& value() && ABSL_ATTRIBUTE_LIFETIME_BOUND; // StatusOr<T>:: operator*() // @@ -533,10 +533,10 @@ class StatusOr : private internal_statusor::StatusOrData<T>, // `absl::StatusOr<T>`. Alternatively, see the `value()` member function for a // similar API that guarantees crashing or throwing an exception if there is // no current value. - const T& operator*() const&; - T& operator*() &; - const T&& operator*() const&&; - T&& operator*() &&; + const T& operator*() const& ABSL_ATTRIBUTE_LIFETIME_BOUND; + T& operator*() & ABSL_ATTRIBUTE_LIFETIME_BOUND; + const T&& operator*() const&& ABSL_ATTRIBUTE_LIFETIME_BOUND; + T&& operator*() && ABSL_ATTRIBUTE_LIFETIME_BOUND; // StatusOr<T>::operator->() // @@ -545,8 +545,8 @@ class StatusOr : private internal_statusor::StatusOrData<T>, // REQUIRES: `this->ok() == true`, otherwise the behavior is undefined. // // Use `this->ok()` to verify that there is a current value. - const T* operator->() const; - T* operator->(); + const T* operator->() const ABSL_ATTRIBUTE_LIFETIME_BOUND; + T* operator->() ABSL_ATTRIBUTE_LIFETIME_BOUND; // StatusOr<T>::value_or() // |