From be316dab88f425fb14948ee341f4adf3f0216f76 Mon Sep 17 00:00:00 2001 From: Florent Castelli Date: Fri, 2 Jun 2023 15:57:43 +0000 Subject: [PATCH] Ensure that RTCErrorOr doesn't require T to be default constructible Bug: webrtc:15214 Change-Id: Ic2d61c64d770943472374f61ad71249e88c3f6f6 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307520 Reviewed-by: Tomas Gunnarsson Reviewed-by: Harald Alvestrand Commit-Queue: Harald Alvestrand Auto-Submit: Florent Castelli Cr-Commit-Position: refs/heads/main@{#40223} --- api/rtc_error.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/api/rtc_error.h b/api/rtc_error.h index 00b0855bec..7adf30eacf 100644 --- a/api/rtc_error.h +++ b/api/rtc_error.h @@ -308,23 +308,23 @@ class RTCErrorOr { // the stack. const T& value() const { RTC_DCHECK(ok()); - return value_; + return *value_; } T& value() { RTC_DCHECK(ok()); - return value_; + return *value_; } // Moves our current value out of this object and returns it, or DCHECK-fails // if !this->ok(). T MoveValue() { RTC_DCHECK(ok()); - return std::move(value_); + return std::move(*value_); } private: RTCError error_; - T value_; + absl::optional value_; }; } // namespace webrtc