Merge pull request #5287 from marler8997/fixAllocWithPayload
fix copy/paste error in AllocWithOptionaPayloadmaster
commit
54b2a6ec41
|
@ -124,9 +124,9 @@ pub const Allocator = struct {
|
|||
|
||||
fn AllocWithOptionsPayload(comptime Elem: type, comptime alignment: ?u29, comptime sentinel: ?Elem) type {
|
||||
if (sentinel) |s| {
|
||||
return [:s]align(alignment orelse @alignOf(T)) Elem;
|
||||
return [:s]align(alignment orelse @alignOf(Elem)) Elem;
|
||||
} else {
|
||||
return []align(alignment orelse @alignOf(T)) Elem;
|
||||
return []align(alignment orelse @alignOf(Elem)) Elem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -281,6 +281,22 @@ pub const Allocator = struct {
|
|||
}
|
||||
};
|
||||
|
||||
var failAllocator = Allocator {
|
||||
.reallocFn = failAllocatorRealloc,
|
||||
.shrinkFn = failAllocatorShrink,
|
||||
};
|
||||
fn failAllocatorRealloc(self: *Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) ![]u8 {
|
||||
return error.OutOfMemory;
|
||||
}
|
||||
fn failAllocatorShrink(self: *Allocator, old_mem: []u8, old_align: u29, new_size: usize, new_align: u29) []u8 {
|
||||
@panic("failAllocatorShrink should never be called because it cannot allocate");
|
||||
}
|
||||
|
||||
test "mem.Allocator basics" {
|
||||
testing.expectError(error.OutOfMemory, failAllocator.alloc(u8, 1));
|
||||
testing.expectError(error.OutOfMemory, failAllocator.allocSentinel(u8, 1, 0));
|
||||
}
|
||||
|
||||
/// Copy all of source into dest at position 0.
|
||||
/// dest.len must be >= source.len.
|
||||
/// dest.ptr must be <= src.ptr.
|
||||
|
|
Loading…
Reference in New Issue