mirror of
https://github.com/ziglang/zig.git
synced 2026-01-06 21:43:25 +00:00
Merge pull request #5287 from marler8997/fixAllocWithPayload
fix copy/paste error in AllocWithOptionaPayload
This commit is contained in:
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…
x
Reference in New Issue
Block a user