Is Zig's New Writer Unsafe?
8 months ago
- #Zig
- #Buffer Safety
- #Undefined Behavior
- 文章讨论了Zig语言新标准库*std.Io.Reader在写入stdout时由于缓冲区大小要求可能导致的未定义行为。
- 小缓冲区(如64字节)在调试模式下可能引发断言失败,在发布模式下可能导致无限循环,具体表现取决于输入内容。
- 这不仅是文档问题——缓冲区的需求可能是条件性的或未知的,使得库开发者难以明确规范。
- 该故障可能与输入内容相关,导致在测试或开发初期难以发现。
- 作者质疑这究竟是真正存在的问题,还是自己对该实现的误解。