diff options
| -rw-r--r-- | lib/std/buffer.zig | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/std/buffer.zig b/lib/std/buffer.zig index 077b2b615f..6bf03472f6 100644 --- a/lib/std/buffer.zig +++ b/lib/std/buffer.zig @@ -147,6 +147,16 @@ pub const Buffer = struct { try self.resize(m.len); mem.copy(u8, self.list.toSlice(), m); } + + pub fn print(self: *Buffer, comptime fmt: []const u8, args: var) !void { + try std.fmt.format( + self, + @typeInfo(@TypeOf(Buffer.append)).Fn.return_type.?.ErrorSet, + Buffer.append, + fmt, + args, + ); + } }; test "simple Buffer" { @@ -190,3 +200,11 @@ test "Buffer.initCapacity" { testing.expect(buf.capacity() == old_cap); testing.expect(mem.eql(u8, buf.toSliceConst(), "hello")); } + +test "Buffer.print" { + var buf = try Buffer.init(testing.allocator, ""); + defer buf.deinit(); + + try buf.print("Hello {} the {}", .{ 2, "world" }); + testing.expect(buf.eql("Hello 2 the world")); +} |
