diff options
Diffstat (limited to 'std/result.zc')
| -rw-r--r-- | std/result.zc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/std/result.zc b/std/result.zc index b043162..3794f1a 100644 --- a/std/result.zc +++ b/std/result.zc @@ -24,12 +24,18 @@ impl Result<T> { return !self.is_ok; } + fn forget(self) { + memset(&self.val, 0, sizeof(T)); + } + fn unwrap(self) -> T { if (!self.is_ok) { !"Panic: unwrap called on Err: {self.err}"; exit(1); } - return self.val; + var v = self.val; + memset(&self.val, 0, sizeof(T)); + return v; } fn expect(self, msg: char*) -> T { |
