const mi = @cImport(@cInclude("mimalloc.h"));

pub inline fn malloc(sz: usize) *anyopaque {
    return mi.mi_malloc(sz) orelse @panic("mi_malloc failed");
}

pub inline fn calloc(c: usize, sz: usize) *anyopaque {
    return mi.mi_calloc(c, sz) orelse @panic("mi_calloc failed");
}

pub inline fn realloc(p: ?*anyopaque, sz: usize) *anyopaque {
    return mi.mi_realloc(p, sz) orelse @panic("mi_realloc failed");
}

pub inline fn free(p: ?*anyopaque) void {
    return mi.mi_free(p);
}