aboutsummaryrefslogtreecommitdiff
path: root/lib/std/fifo.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-03-13 11:31:11 -0400
committerAndrew Kelley <andrew@ziglang.org>2020-03-13 11:31:11 -0400
commit2dd920ee394d06b4a215720b6bf7f355dacfd96f (patch)
tree2824dec01eff04baacb30d724fdb8bb00ed14c0a /lib/std/fifo.zig
parenta9297f22671dff800821ff940395411f2adb8582 (diff)
parent4aae55b4ccf44fa3c2c2a81a6a34f3c898dece30 (diff)
downloadzig-2dd920ee394d06b4a215720b6bf7f355dacfd96f.tar.gz
zig-2dd920ee394d06b4a215720b6bf7f355dacfd96f.zip
Merge branch 'format-stream' of https://github.com/fengb/zig into fengb-format-stream
Diffstat (limited to 'lib/std/fifo.zig')
-rw-r--r--lib/std/fifo.zig14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/std/fifo.zig b/lib/std/fifo.zig
index 85a0e4c9d2..65ddc65d3c 100644
--- a/lib/std/fifo.zig
+++ b/lib/std/fifo.zig
@@ -294,7 +294,19 @@ pub fn LinearFifo(
pub usingnamespace if (T == u8)
struct {
pub fn print(self: *Self, comptime format: []const u8, args: var) !void {
- return std.fmt.format(self, error{OutOfMemory}, Self.write, format, args);
+ // TODO: maybe expose this stream as a method?
+ const FifoStream = struct {
+ const OutStream = std.io.OutStream(*Self, Error, write);
+ const Error = error{OutOfMemory};
+
+ fn write(fifo: *Self, bytes: []const u8) Error!usize {
+ try fifo.write(bytes);
+ return bytes.len;
+ }
+ };
+
+ var out_stream = FifoStream.OutStream{ .context = self };
+ try out_stream.print(format, args);
}
}
else