DoxigAlpha

Function parameters

Parameters

#
ctx:*anyopaque
memory:[]u8
alignment:mem.Alignment
new_len:usize
ra:usize

Type definitions in this namespace

Types

#

Functions in this namespace

Functions

#
getStackTrace
Only valid once `has_induced_failure == true`

Source

Implementation

#
fn resize(
    ctx: *anyopaque,
    memory: []u8,
    alignment: mem.Alignment,
    new_len: usize,
    ra: usize,
) bool {
    const self: *FailingAllocator = @ptrCast(@alignCast(ctx));
    if (self.resize_index == self.resize_fail_index)
        return false;
    if (!self.internal_allocator.rawResize(memory, alignment, new_len, ra))
        return false;
    if (new_len < memory.len) {
        self.freed_bytes += memory.len - new_len;
    } else {
        self.allocated_bytes += new_len - memory.len;
    }
    self.resize_index += 1;
    return true;
}