Is Zig's New Writer Unsafe?
4 hours ago
- #Zig
- #Buffer Safety
- #Undefined Behavior
- The article discusses potential undefined behavior in Zig's new *std.Io.Reader when writing to stdout due to buffer size requirements.
- A small buffer size (e.g., 64 bytes) can cause assertion failures in debug mode or endless loops in release mode, depending on the input.
- The issue is not just a documentation problem—buffer requirements can be conditional or unknown, making it hard for library developers to specify.
- The failure can be input-dependent, making it difficult to catch early in testing or development.
- The author questions whether this is a genuine problem or if they are misunderstanding the implementation.