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

2025-06-26 05:00: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
相关阅读
想自己做一本书,用什么排版软件?

想自己做一本书,用什么排版软件?

用什么排版软件,取决于你想做什么书! 理论上,InDesig...

2025-06-28
静电容键盘为什么没能超越机械键盘?

静电容键盘为什么没能超越机械键盘?

大概是因为静电容没卷起来。 本人一直是忠诚的薄膜键盘使用者...

2025-06-28
为什么B-2轰炸机从来不敢来中国?

为什么B-2轰炸机从来不敢来中国?

F22曾经进进出出好多次,开始是不知道,后来是看不见,后来是...

2025-06-28
现代艺术只考虑意义、不考虑美感吗?

现代艺术只考虑意义、不考虑美感吗?

我认为恰恰相反 你看这幅画,美的无可挑剔! 独特的构图、...

2025-06-28
为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?

为什么 Go 语言的 Error Handling 被某些人认为是一个败笔?

因为go的错误处理怎么看都毫无意义 从类型论角度来说 一个r...

2025-06-28