]> git.lizzy.rs Git - rust.git/commitdiff
Make cold unwraps take &dyn Debug
authorJosh Stone <jistone@redhat.com>
Thu, 11 Jul 2019 19:40:38 +0000 (12:40 -0700)
committerJosh Stone <jistone@redhat.com>
Thu, 11 Jul 2019 19:40:38 +0000 (12:40 -0700)
src/libcore/option.rs
src/libcore/result.rs

index 6156b4cd3931681e02d1383693274bafb4e025be..237994a83cfd114d643f560de2e3093fe5c70273 100644 (file)
@@ -1011,7 +1011,7 @@ impl<T: fmt::Debug> Option<T> {
     #[unstable(feature = "option_expect_none", reason = "newly added", issue = "0")]
     pub fn expect_none(self, msg: &str) {
         if let Some(val) = self {
-            expect_none_failed(msg, val);
+            expect_none_failed(msg, &val);
         }
     }
 
@@ -1053,7 +1053,7 @@ pub fn expect_none(self, msg: &str) {
     #[unstable(feature = "option_unwrap_none", reason = "newly added", issue = "0")]
     pub fn unwrap_none(self) {
         if let Some(val) = self {
-            expect_none_failed("called `Option::unwrap_none()` on a `Some` value", val);
+            expect_none_failed("called `Option::unwrap_none()` on a `Some` value", &val);
         }
     }
 }
@@ -1153,7 +1153,7 @@ fn expect_failed(msg: &str) -> ! {
 // This is a separate function to reduce the code size of .expect_none() itself.
 #[inline(never)]
 #[cold]
-fn expect_none_failed<T: fmt::Debug>(msg: &str, value: T) -> ! {
+fn expect_none_failed(msg: &str, value: &dyn fmt::Debug) -> ! {
     panic!("{}: {:?}", msg, value)
 }
 
index b64ad149cf4db7ceae45dc74821b38877206c862..14980ce1cff428220bdb03cf4ab434813575798b 100644 (file)
@@ -849,7 +849,7 @@ impl<T, E: fmt::Debug> Result<T, E> {
     pub fn unwrap(self) -> T {
         match self {
             Ok(t) => t,
-            Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", e),
+            Err(e) => unwrap_failed("called `Result::unwrap()` on an `Err` value", &e),
         }
     }
 
@@ -876,7 +876,7 @@ pub fn unwrap(self) -> T {
     pub fn expect(self, msg: &str) -> T {
         match self {
             Ok(t) => t,
-            Err(e) => unwrap_failed(msg, e),
+            Err(e) => unwrap_failed(msg, &e),
         }
     }
 }
@@ -908,7 +908,7 @@ impl<T: fmt::Debug, E> Result<T, E> {
     #[stable(feature = "rust1", since = "1.0.0")]
     pub fn unwrap_err(self) -> E {
         match self {
-            Ok(t) => unwrap_failed("called `Result::unwrap_err()` on an `Ok` value", t),
+            Ok(t) => unwrap_failed("called `Result::unwrap_err()` on an `Ok` value", &t),
             Err(e) => e,
         }
     }
@@ -935,7 +935,7 @@ pub fn unwrap_err(self) -> E {
     #[stable(feature = "result_expect_err", since = "1.17.0")]
     pub fn expect_err(self, msg: &str) -> E {
         match self {
-            Ok(t) => unwrap_failed(msg, t),
+            Ok(t) => unwrap_failed(msg, &t),
             Err(e) => e,
         }
     }
@@ -1047,7 +1047,7 @@ pub fn transpose(self) -> Option<Result<T, E>> {
 // This is a separate function to reduce the code size of the methods
 #[inline(never)]
 #[cold]
-fn unwrap_failed<E: fmt::Debug>(msg: &str, error: E) -> ! {
+fn unwrap_failed(msg: &str, error: &dyn fmt::Debug) -> ! {
     panic!("{}: {:?}", msg, error)
 }