Rust: 发散函数的设计初衷是啥

返回不了的函数随时随地都应可用,类型通配符使之通过类型检查。
■网友
文档 里说 Diverging function 是一种不会返回的函数,比如说 panic!() 还有死循环。Diverging function 的返回类型就是 \u0026#39;!\u0026#39;,读作 diverges。它可以被转换为任意的类型:fn main() { let a: i32 = f();}fn f() -\u0026gt; ! { panic!()}所以,它可以被放在函数最后返回:fn sum(a: i32, b: i32) -\u0026gt; i32 { panic!()}这样是可以通过类型检查的。或者放在 if 分支里:if a \u0026gt; b { true} else { panic!()}这样 if 每个分支返回的类型也都是一致的。
■网友
似乎和 ts 中的 never 一样


    推荐阅读