summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Abseil Team <absl-team@google.com>2023-05-04 14:25:56 -0700
committerGravatar Copybara-Service <copybara-worker@google.com>2023-05-04 14:26:53 -0700
commitf39f340c589354db8ab2f07894894f23c9ea3ae6 (patch)
treeb49c70b820ce3ad2b7e80c20e50b2e32589712a3
parentb2abe7ad28fd79cbb889dbf9814292be495f04ed (diff)
Breaks internal code
PiperOrigin-RevId: 529514670 Change-Id: Ia9a19da52f58c91d5131c2a17308a7a322db2714
-rw-r--r--absl/status/statusor.h15
-rw-r--r--absl/status/statusor_test.cc33
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