aboutsummaryrefslogtreecommitdiff
path: root/examples/own.fwd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/own.fwd')
-rw-r--r--examples/own.fwd33
1 files changed, 0 insertions, 33 deletions
diff --git a/examples/own.fwd b/examples/own.fwd
deleted file mode 100644
index 6634886..0000000
--- a/examples/own.fwd
+++ /dev/null
@@ -1,33 +0,0 @@
-do_something((auto) a);
-consume(auto a);
-
-main()
-{
- do_something() => auto a;
- do_something() => auto b;
- !> e {
- /* if do_something() fails, a is still alive, so we must kill
- * it. However, we might enter this error block after the
- * callback to do_something() was run, and a might've already
- * been moved. own just checks if we still own the resource and
- * executes the block.
- *
- * admittedly, purely syntactically it would look like b is
- * already alive at this point, but since it's actually within
- * the implicit closure, it is not. Might play around with ordering
- * the error block to come before implicit closures...
- */
- own a {consume(a);}
- error e
- }
-
- consume(a);
- !> e {
- /* if consume fails, b is still alive, but either this error
- * block runs (and throws an error) or the next consume is run,
- * so own is not necessary here */
- consume(b);
- error e
- }
- consume(b);
-}