Files
c3c/test/unit/regression/catch_err.c3
Christoffer Lerno 5c77c9a754 - Change distinct -> typedef.
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00

21 lines
327 B
Plaintext

module catch_err @test;
fn void test()
{
fault a;
int? z = fn int?(fault* a) {
const ABC = 4;
int? x = NOT_FOUND?;
defer (catch err) *a = err;
return x;
}(&a);
assert(a == NOT_FOUND);
fault y;
z = fn int?(fault* y) {
const ABC = 4;
int? x = 1;
defer (catch err) *y = err;
return x;
}(&y);
assert(!y);
}