compiler/tests/fixtures/runtime/library-shared-mem/main.ldn
1import core/mem
2
3exercise: () -> (ok: bool) ! mem.out_of_memory =
4 ok = false
5 mut backing: [32]u8 = zeroed
6 mut state := mem.arena_over_unchecked(addr backing[0], 32)
7 address := try mem.allocate(state, usize(4), usize(1))
8 address.val = 42
9 return when address.val <> 42
10 _ = mem.allocate(state, usize(64), usize(1)) else (problem)
11 _ = problem
12 ok = mem.arena_used(state) == 4
13 return
14 end
15end exercise
16
17public main: () -> (code: i32) =
18 code = 1
19 ok := exercise() else false
20 if ok then
21 code = 42
22 end if
23end main