about summary refs log tree commit diff
path: root/src/lib/option.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/option.rs')
-rw-r--r--src/lib/option.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/option.rs b/src/lib/option.rs
index 29a6f6eb96b..66a41bcac68 100644
--- a/src/lib/option.rs
+++ b/src/lib/option.rs
@@ -38,6 +38,13 @@ fn is_none[T](&t[T] opt) -> bool {
     }
 }
 
+fn from_maybe[T](&T def, &t[T] opt) -> T {
+    alt(opt) {
+        case (none[T])     { ret def; }
+        case (some[T](?t)) { ret t; }
+    }
+}
+
 // Local Variables:
 // mode: rust;
 // fill-column: 78;