Hacker News | 📄 原文链接 | 2026-09-14 收录

Rust 的 never 类型终于稳定了

来源:lwn.net — lwn.net · 232 分 · by cjd8

📋 概述

LWN 报道 Rust 的 never 类型在 8 月 24 日被稳定——由贡献者「waffle」花两年多完成,耗时之久部分原因是这涉及对旧版 edition 的一处小破坏性变更,维护者需要确认它不会影响大量真实代码。文章解释了为什么要有这个类型:务实的理由是能写出更高效的泛型,例如把 FromStr 的 Err 设为 never 类型后,编译器知道错误分支永远不会出现,可以把相关代码全部优化掉;哲学的理由是类型推断的正确性——if 与 while 都是表达式,无限循环的结果也需要一个可推断的类型,把它统一成 never 比加特例规则更省事。never 类型还会自动强制转换到任何其他类型,这听起来怪但安全,因为「永远不会产生值的计算结果」可以放心忽略,相当于由类型系统驱动的死代码消除。难点在「never 回退」:当编译器无法直接推断具体类型时,需要一个可接受的回退规则。

🔑 核心要点

💡 金句

它表示的是「永远不会产生的值」,所以编译器知道那段代码根本到不了——忽略它是安全的。
← 返回 Hacker News 首页