Rust1.86才正式穩定trait的upcast,為什么在rust中這個特性實現如此復雜?
作者: 發布日期:2025-06-26 03:05:10
主要是名字起錯了,讓人對這個功能有了一些不切實際的幻想。
Rust里面su***ype有且只有一種,那就是 相同類型的兩個引用,其中一個的生存期完全被另外一個的生存期包含,此時生存期長的那個就是短的那個的su***ype,除此之外沒有su***ype這種東西,trait A:B并不是su***ype,只說明A包含有B的成員,并不意味著A和B直接有任何天然的可替代性,所以也不存在“up”cast,它們之間即便存在某種cast操作,也都只是某種hack而非自然規律,…。








