Zig 软件基金会(Zig Software Foundation)正式发布了 Zig 编程语言的 0.16.0 版本,此次更新对语言的 I/O 能力进行了大规模重构。
根据 ziglang.org 的官方消息,此次更新首次推出了“接口化 I/O”(I/O as an Interface),这标志着该通用工具链在架构层面发生了重大转变。
这一新版本的发布凝聚了长达八个月的密集开发成果。项目文档显示,此次更新涉及 244 位不同贡献者的协作,总计包含 1,183 次代码提交。
除了全新的 I/O 接口外,该版本还对编译器、构建系统(build system)以及链接器(linker)进行了实质性的升级。此外,开发者还对模糊测试工具(fuzzer)及整个工具链进行了优化改进。
语言特性与稳定性更新
Zig 的核心语法和类型系统也迎来了显著变化。此次更新为 `switch` 语句引入了新规则,并修改了 packed unions(紧凑联合体)在进行相等性比较时的处理方式。
开发者还进一步强化了语言的安全约束。新版本禁止在运行时使用向量索引(vector indexes),并防止函数返回平凡的局部地址(trivial local addresses)。
根据发布说明,此次更新还引入了“延迟字段分析”(Lazy Field Analysis),并修改了语言处理指向仅限编译时(comptime-only)类型指针的方式。
其他技术调整还包括:允许小整数类型向浮点数转换,以及更新了 `@floor`、`@ceil`、`@round` 和 `@trunc` 等内置函数,使其能够直接转换为整数。
为了推进迈向 1.0 版本的项目路线图,Zig 软件基金会正持续寻求社区的支持。作为一家 501(c)(3) 非营利组织,该基金会依赖定期捐赠来资助核心团队成员并加速开发进程。