about summary refs log tree commit diff
path: root/src/libcore/option.rs
diff options
context:
space:
mode:
authorBen Blum <bblum@andrew.cmu.edu>2012-07-24 15:46:40 -0400
committerBen Blum <bblum@andrew.cmu.edu>2012-07-24 17:27:34 -0400
commitbe3a71a1aa36173ce2cd521f811d8010029aa46f (patch)
treedf6cf34370c9b2caaedbc041fbb925f554389be6 /src/libcore/option.rs
parent160ffb0c2fdb009af7d4a76181129b4d12b8f2e7 (diff)
Add option::unwrap_expect
Diffstat (limited to 'src/libcore/option.rs')
-rw-r--r--src/libcore/option.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libcore/option.rs b/src/libcore/option.rs
index 6cfb18dc644..270ba90c704 100644
--- a/src/libcore/option.rs
+++ b/src/libcore/option.rs
@@ -120,6 +120,12 @@ pure fn unwrap<T>(-opt: option<T>) -> T {
     }
 }
 
+pure fn unwrap_expect<T>(-opt: option<T>, reason: ~str) -> T {
+    //! As unwrap, but with a specified failure message.
+    if opt.is_none() { fail reason; }
+    unwrap(opt)
+}
+
 impl extensions<T> for option<T> {
     /**
      * Update an optional value by optionally running its content through a