Hasty Briefsbeta

双语

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的情况下利用新功能。