std.heap.c_allocator has a small wrapper on non-posix targets. the library uses libc malloc directly by default so we can use libc free to release memory.