Rust Any part 3: we have upcasts
a year ago
- #TypeCasting
- #Programming
- #Rust
- As-Any Hack是三年前引入的,旨在实现稳定版Rust中向父特征的向上转型。
- 该hack解决了`Any`特征的方法无法在`dyn DebugAny`上使用的问题,尽管`DebugAny`继承自`Any`。
- 截至Rust 1.86版本,该问题已修复,现在可以直接在`dyn DebugAny`上使用`downcast_ref`等`Any`特征的方法。
- 这一修复意味着当最低支持Rust版本(MSRV)更新后,As-Any Hack等旧解决方案就可以退役了。
- 更新后的`Extensions`结构体示例展示了如何在不使用hack的情况下利用新功能。