RSS
Posts

Lobsters Daily Digest — 2026-04-14

2026-04-14

#1
Zig 0.16.0 Release Notes
zig ↑83 · 21 comments

文章摘要

本次更新历时 8 个月,最显著的变化是将 I/O 抽象为接口,极大地提升了代码的可测试性和灵活性。语言层面引入了 Juicy Main 以简化程序入口,并加强了对返回局部变量地址等不安全行为的编译器检查。此外,标准库进行了大规模重构,包括 ArenaAllocator 的线程安全化、移除全局环境变量访问,以及对更多硬件架构和操作系统的分级支持。

社区讨论

社区对 I/O 接口化和 Juicy Main 的易用性提升表示高度赞赏,认为这降低了入门门槛并优化了大型项目的测试流程。尽管有部分用户对缺乏编译器警告、强制性的构建脚本风格及缺少运算符重载表示不满,但多数开发者对 Zig 的演进方向和安全性增强持乐观态度。

View on Lobsters →
#2
Rust should have stable tail calls
rust ↑43 · 22 comments

文章摘要

文章介绍了 Trifecta Tech 基金会推动 Rust 显式尾调用标准化的计划,目标是在 2027 年实现稳定。尾调用通过重用调用者的栈帧,不仅能防止递归导致的栈溢出,还能在实现解释器和状态机时提供更优的汇编指令控制和分支预测性能。目前该功能主要受限于 LLVM 后端支持以及 PowerPC 等特定架构的 ABI 限制,如 TOC 切换带来的复杂性。

社区讨论

社区讨论集中在尾调用是属于“正确性”还是“优化”的争论,并深入探讨了 PowerPC 架构中 TOC 维护对尾调用的技术挑战。参与者还对比了 Scheme 和 Lua 对尾调用的原生支持,普遍认为显式尾调用能显著增强 Rust 在底层开发中的表达力。

View on Lobsters →