summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2021-08-19 20:52:14 -0700
committerGravatar Andy Getz <durandal@google.com>2021-08-20 14:38:00 -0400
commitf39e6ad4753e06d4a0d6a9bf6310478757479984 (patch)
treef87676d1885915edcf6f353cbd85a05dc82ffca3
parenta05366d851c5cb88065272f951e03955197e7c11 (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.h20
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()
//