about summary refs log tree commit diff
path: root/src/libstd/sys_common
diff options
context:
space:
mode:
authorJethro Beekman <jethro@fortanix.com>2019-04-23 10:06:27 -0700
committerJethro Beekman <jethro@fortanix.com>2019-04-23 10:06:27 -0700
commit942831eef4ddc75c72e3f9921a219a00f1622082 (patch)
treece5a50093533841bca1824abb1c5e941f5a51cbd /src/libstd/sys_common
parentfe0a415b4ba3310c2263f07e0253e2434310299c (diff)
downloadrust-942831eef4ddc75c72e3f9921a219a00f1622082.tar.gz
rust-942831eef4ddc75c72e3f9921a219a00f1622082.zip
Debug-print error when using rtunwrap
Diffstat (limited to 'src/libstd/sys_common')
-rw-r--r--src/libstd/sys_common/mod.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libstd/sys_common/mod.rs b/src/libstd/sys_common/mod.rs
index 6260c3b77ff..78e15994264 100644
--- a/src/libstd/sys_common/mod.rs
+++ b/src/libstd/sys_common/mod.rs
@@ -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)
+        },
     })
 }