]> git.lizzy.rs Git - rust.git/commitdiff
Debug-print error when using rtunwrap
authorJethro Beekman <jethro@fortanix.com>
Tue, 23 Apr 2019 17:06:27 +0000 (10:06 -0700)
committerJethro Beekman <jethro@fortanix.com>
Tue, 23 Apr 2019 17:06:27 +0000 (10:06 -0700)
src/libstd/sys_common/mod.rs

index 6260c3b77ff81227bf2c52b750f1e21801eca202..78e159942643f551ca54d4858f92d34077fe0e54 100644 (file)
@@ -30,10 +30,12 @@ macro_rules! rtassert {
 
 #[allow(unused_macros)] // not used on all platforms
 macro_rules! rtunwrap {
-    ($ok:ident, $e:expr) => (if let $ok(v) = $e {
-        v
-    } else {
-        rtabort!(concat!("unwrap failed: ", stringify!($e)));
+    ($ok:ident, $e:expr) => (match $e {
+        $ok(v) => v,
+        ref err => {
+            let err = err.as_ref().map(|_|()); // map Ok/Some which might not be Debug
+            rtabort!(concat!("unwrap failed: ", stringify!($e), " = {:?}"), err)
+        },
     })
 }