namespace; include rt; // the bump arena: interior pointers, a rewind, and a full bump. fn main() { let a = rt.arena_new(32), p, q, r; p = rt.arena_alloc(a, 4); p[0] = 7; q = rt.arena_alloc(a, 4); rt.put_n(q - p); rt.put_c(' '); rt.put_n(p[0]); rt.put_c(' '); rt.put_n(q[0]); rt.put_c(' '); rt.arena_reset(a); r = rt.arena_alloc(a, 4); rt.put_n(r == p); rt.put_c(' '); rt.put_n(rt.arena_alloc(a, 100) == 0); rt.put_c(10); rt.free(d*a); return 0; }