Lobsters | 原文链接 | 2026-09-14 收录

Rust 的 never 类型终于稳定:两年攻坚与一处小幅破坏性变更

来源: lwn.net — 2026-09-08

概述

LWN 报道 Rust 的 never 类型(写作 !)在 8 月 24 日终于稳定,贡献者 waffle 为此花了两年多。这个类型用于标记永不返回的函数以及值不可能出现的位置,长期只在编译器内部使用。稳定过程之所以漫长,一部分原因是它牵涉一个针对既有 edition 的小幅破坏性变更,维护者必须确认它不会影响大量真实代码。文章解释了两层动因:实用上它能让泛型代码更高效——比如把 FromStr 的错误类型设为 !,编译器就知道 Result 的错误分支永不存在,可以优化掉相关检查;哲学上则关乎正确的类型推断,因为 if、while 这类构造在 Rust 里是表达式,无限循环的结果需要一个可推断的类型。

核心要点

金句

经过两年多的工作,Rust 编译器贡献者 waffle 终于把这个类型稳定了下来。
返回 Lobsters 首页