static_arena
Fixed-size bump allocator in the struct itself — no malloc. Stack or
static storage; Option on overflow.
[dependencies]
static_arena = "*"
stdlib = "*"
import "static_arena/static_arena" as sa;
import "stdlib/option" as option;
var a: sa::StaticArena16K = sa::StaticArena16K::new();
guard let option::Option[*u8]::Some(p) = a.alloc_bytes(64usize) else {
return;
};
Growing heap sibling: arena.
Docs
- docs/tutorial.md — fast path
- docs/guide.md — how / why / gotchas
- docs/ref.md — API manual
Tests
Unit tests live in src/static_arena.cplus.
cd vendor/static_arena && cpc test