type DropProbe { marker: MutSpan, fn drop(self: mutref) -> Void { self.marker[0] = 1 } } fn maybe_fail(should_fail: Bool, marker: MutSpan) -> i32 raises [BadInput] { let probe: owned = DropProbe { marker: marker } if should_fail { raise BadInput } return 42 } fn run(marker: MutSpan) -> Void raises [BadInput] { check maybe_fail(false, marker) } pub fn main(world: World) -> Void raises { var marker: [1]u8 = [0] check run(marker) if marker[0] == 1_u8 { check world.out.write("fallibility error sets ok\n") } }