I’m too dumb for Zig’s new IO interface

I’m too dumb for Zig’s new IO interface Aug 22, 2025 You might have heard that Zig 0.15 introduces a new IO interface, with the focus for this release being the new std.Io.Reader and std.Io.Writer types. The old “interfaces” had problems. Like this performance issue that I opened. And it relied on a mix of types, which always confused me, and a lot of anytype – which is generally great, but a poor foundation to build an interface on. I’ve been slowly upgrading my libraries, and I ran into changes to the tls.Client client used by my smtp library. For the life of me, I just don’t understand how it works. Zig has never been known for its documentation, but if we look at the documentation for tls.Client.init, we’ll find: pub fn init(input: *std.Io.Reader, output: *std.Io.Writer, options:…

Read more on Lobste.rs