把贵州省撤销,设立一个超大型国家自然公园,是不是一个好的提法?
如今的Intel为什么连AMD都打不过?
HTTP/3 解决了什么问题,又引入了什么新问题?
两个问题:女足工资为什么比男足低?如果中国女足和中国男足打一场谁会赢?
为什么有些前端一直用 div 当按钮,而不是用 button?
如何判断一个游戏是用手柄玩更好还是用键鼠玩更好?

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

发布日期:2025-06-24 06:05:10 浏览次数:0

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

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中这个特性实现如此复杂?