diff options
author | Abseil Team <absl-team@google.com> | 2023-05-04 14:25:56 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2023-05-04 14:26:53 -0700 |
commit | f39f340c589354db8ab2f07894894f23c9ea3ae6 (patch) | |
tree | b49c70b820ce3ad2b7e80c20e50b2e32589712a3 /absl/status | |
parent | b2abe7ad28fd79cbb889dbf9814292be495f04ed (diff) |
Breaks internal code
PiperOrigin-RevId: 529514670
Change-Id: Ia9a19da52f58c91d5131c2a17308a7a322db2714
Diffstat (limited to 'absl/status')
-rw-r--r-- | absl/status/statusor.h | 15 | ||||
-rw-r--r-- | absl/status/statusor_test.cc | 33 |
2 files changed, 0 insertions, 48 deletions
diff --git a/absl/status/statusor.h b/absl/status/statusor.h index f1932238..beedd795 100644 --- a/absl/status/statusor.h +++ b/absl/status/statusor.h @@ -612,21 +612,6 @@ class StatusOr : private internal_statusor::StatusOrData<T>, return this->data_; } - // StatusOr<T>::AssignStatus() - // - // Sets the status of `absl::StatusOr<T>` to the given non-ok status value. - // - // NOTE: We recommend using the constructor and `operator=` where possible. - // This method is intended for use in generic programming, to enable setting - // the status of a `StatusOr<T>` when `T` may be `Status`. In that case, the - // constructor and `operator=` would assign into the inner value of type - // `Status`, rather than status of the `StatusOr` (b/280392796). - // - // REQUIRES: !Status(std::forward<U>(v)).ok(). This requirement is DCHECKed. - // In optimized builds, passing absl::OkStatus() here will have the effect - // of passing absl::StatusCode::kInternal as a fallback. - using internal_statusor::StatusOrData<T>::AssignStatus; - private: using internal_statusor::StatusOrData<T>::Assign; template <typename U> diff --git a/absl/status/statusor_test.cc b/absl/status/statusor_test.cc index e65f5d27..29021543 100644 --- a/absl/status/statusor_test.cc +++ b/absl/status/statusor_test.cc @@ -1844,37 +1844,4 @@ TEST(StatusOr, AssignmentFromTypeConvertibleToStatus) { } } -TEST(StatusOr, StatusAssignmentFromStatusError) { - absl::StatusOr<absl::Status> statusor; - statusor.AssignStatus(absl::CancelledError()); - - EXPECT_FALSE(statusor.ok()); - EXPECT_EQ(statusor.status(), absl::CancelledError()); -} - -#if GTEST_HAS_DEATH_TEST -TEST(StatusOr, StatusAssignmentFromStatusOk) { - EXPECT_DEBUG_DEATH( - { - absl::StatusOr<absl::Status> statusor; - // This will DCHECK. - statusor.AssignStatus(absl::OkStatus()); - // In optimized mode, we are actually going to get error::INTERNAL for - // status here, rather than crashing, so check that. - EXPECT_FALSE(statusor.ok()); - EXPECT_EQ(statusor.status().code(), absl::StatusCode::kInternal); - }, - "An OK status is not a valid constructor argument to StatusOr<T>"); -} -#endif - -TEST(StatusOr, StatusAssignmentFromTypeConvertibleToStatus) { - CustomType<MyType, kConvToStatus> v; - absl::StatusOr<MyType> statusor; - statusor.AssignStatus(v); - - EXPECT_FALSE(statusor.ok()); - EXPECT_EQ(statusor.status(), static_cast<absl::Status>(v)); -} - } // namespace |