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);
}