diff --git a/lib/std/heap.zig b/lib/std/heap.zig index 55d295b016..f17f6728f8 100644 --- a/lib/std/heap.zig +++ b/lib/std/heap.zig @@ -855,6 +855,9 @@ pub const FixedBufferAllocator = struct { pub const ThreadSafeFixedBufferAllocator = @compileError("ThreadSafeFixedBufferAllocator has been replaced with `threadSafeAllocator` on FixedBufferAllocator"); +/// Returns a `StackFallbackAllocator` allocating using either a +/// `FixedBufferAllocator` on an array of size `size` and falling back to +/// `fallback_allocator` if that fails. pub fn stackFallback(comptime size: usize, fallback_allocator: Allocator) StackFallbackAllocator(size) { return StackFallbackAllocator(size){ .buffer = undefined, @@ -863,6 +866,10 @@ pub fn stackFallback(comptime size: usize, fallback_allocator: Allocator) StackF }; } +/// An allocator that attempts to allocate using a +/// `FixedBufferAllocator` using an array of size `size`. If the +/// allocation fails, it will fall back to using +/// `fallback_allocator`. Easily created with `stackFallback`. pub fn StackFallbackAllocator(comptime size: usize) type { return struct { const Self = @This();