summaryrefslogtreecommitdiff
path: root/std/result.zc
diff options
context:
space:
mode:
Diffstat (limited to 'std/result.zc')
-rw-r--r--std/result.zc11
1 files changed, 9 insertions, 2 deletions
diff --git a/std/result.zc b/std/result.zc
index 3794f1a..1d10b1a 100644
--- a/std/result.zc
+++ b/std/result.zc
@@ -1,4 +1,3 @@
-
import "./core.zc"
struct Result<T> {
@@ -38,6 +37,14 @@ impl Result<T> {
return v;
}
+ fn unwrap_ref(self) -> T* {
+ if (!self.is_ok) {
+ !"Panic: unwrap_ref called on Err: {self.err}";
+ exit(1);
+ }
+ return &self.val;
+ }
+
fn expect(self, msg: char*) -> T {
if (!self.is_ok) {
!"Panic: {msg}: {self.err}";
@@ -45,4 +52,4 @@ impl Result<T> {
}
return self.val;
}
-}
+} \ No newline at end of file