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

2025-06-20 19:05:11

主要是名字起错了,让人对这个功能有了一些不切实际的幻想。

Rust里面su***ype有且只有一种,那就是 相同类型的两个引用,其中一个的生存期完全被另外一个的生存期包含,此时生存期长的那个就是短的那个的su***ype,除此之外没有su***ype这种东西,trait A:B并不是su***ype,只说明A包含有B的成员,并不意味着A和B直接有任何天然的可替代性,所以也不存在“up”cast,它们之间即便存在某种cast操作,也都只是某种hack而非自然规律,…。

Rust1.86才正式稳定trait的upcast,为什么在rust中这个特性实现如此复杂?
广告位810*200
相关阅读
听说有一门技术叫windows批处理(bat),请问它有什么现实用途?

听说有一门技术叫windows批处理(bat),请问它有什么现实用途?

在Windows上bat只是个文件后缀,完整的翻译是 bat...

2025-06-28
为什么有的人喜欢带着 MacBook 去咖啡店或者书店上网,而不是 ThinkPad 之类的?

为什么有的人喜欢带着 MacBook 去咖啡店或者书店上网,而不是 ThinkPad 之类的?

带过thinkpad,咖啡店老板直接把空调关了。 前几年一...

2025-06-28
为什么苹果的Mac不能啃下“游戏”和“软件支持”这2块硬骨头?

为什么苹果的Mac不能啃下“游戏”和“软件支持”这2块硬骨头?

单机游戏甚少有发布之后为了跟进新版操作系统而更新的,不过这么...

2025-06-28
小米一款SU7就卖爆了,吉利那帮人在干啥事?

小米一款SU7就卖爆了,吉利那帮人在干啥事?

我现在在某上市公司就职。 公司投了几千万建了一条涂装线做电...

2025-06-28
为啥小姐姐们都不想做主播了?

为啥小姐姐们都不想做主播了?

主播都卷飞了。 从今年开始,B站擦边的成分极为复杂,怀孕的...

2025-06-28