外化证明"救不了 Rust 循环 trait,Bob Nystrom 说透了
原创
Rust 里碰到循环 trait impl,很多人第一反应是:能不能把证明"外化"出去,绕开编译器死磕循环依赖的死局?Bob Nystrom 直接否定了这条路。trait impl 的证明本来就是类型系统的一部分,一旦外化,编译器就无法验证外部证明是否真的闭合了循环——等于把类型安全撕了个口子。模块化证明和外部化证明听起来都是优雅的解法,但真正碰到 Self 引用的循环,两者都露馅了。这不是语法层面的小坑,而是 Rust 类型系统里一个根本性的限制。
原文:Why 'externalized' proofs of cyclic trait impls does not work · 来源:Hacker News
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



