const Os = enum{
    linux,
    macos,
    windows,
    freestanding,
};

const Cpu = enum{
    x86_64,
    aarch64,
};

const Abi = enum{
    none,
    gnu,
    msvc,
};

const CallingConvention = enum{
    c,
    system_v,
};

const PanicReason = enum{
    integer_overflow,
    null_unwrap,
};

const panic = fn (reason: PanicReason) noreturn{
    #trap();
}

const TestFunction = struct{
    name: []const u8,
    function: &const fn () *!void,
};

const StructOptions = struct{
    sliceable: bool = false,
};

const Optimization = enum{
    none,
    debug_prefer_fast,
    debug_prefer_size,
    lightly_optimize_for_speed,
    optimize_for_speed,
    optimize_for_size,
    aggressively_optimize_for_speed,
    aggressively_optimize_for_size,
};
