新闻资讯

Rust1.86才正式稳定trait的upcast,为什么在rust中这个特性实现如此复杂?

发布时间:2025-06-19 18:05:16
  |  
阅读量:
字号:
A+ A- A

关注了这个问题好久,怎么一个回答都没有……那我抛砖引玉吧。

trait upcasting的tracking issue是这个: Tracking issue for dyn upcasting coercion · Issue #65991 · rust-lang/rust 之前看过一个知乎回答讲了实现: rust语言中怎么把子trait转成父trait? 过程本来这个特性都已经稳定了(将在1.76发布): ***s://github***/rust-lang/rust/pull/118133 然而出现了unsound问题: ***s://github***/rust-lang/rust/issues/120222 和 ***s://github***/rust-lang/rust/issues/120217 于是只好回退: …。

Rust1.86才正式稳定trait的upcast,为什么在rust中这个特性实现如此复杂?