diff options
-rw-r--r-- | test/matchctup.myr | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/test/matchctup.myr b/test/matchctup.myr new file mode 100644 index 0000000..07d51e6 --- /dev/null +++ b/test/matchctup.myr @@ -0,0 +1,32 @@ +use std + +const main = { + match (gen_a(), gen_b()) + | (`std.Err _, _): std.put("error case 1") + | (_, `std.Err _): std.put("error case 2") + | (`std.Ok L, `std.Ok N): + std.put("l = {} n = {}\n", L, N) + ;; +} + +var gen_a : (-> std.result(byte[:][:], void)) = { + var ret = [][:] + + for var j = 0; j < 4; ++j + std.slpush(&ret, std.fmt("{}", j)) + ;; + + if 1 + 1 > 3 + -> `std.Err void + ;; + + -> `std.Ok ret +} + +var gen_b : (-> std.result(int, void)) = { + if 1 + 1 > 3 + -> `std.Err void + ;; + + -> `std.Ok 5 +} |