【发布时间】:2015-02-18 11:53:58
【问题描述】:
最近的 Rust 更改使“特征对象”对我来说更加突出,但我对究竟是什么使某些东西成为特征对象只有模糊的把握。一项特别的更改是 upcoming change 允许 trait 对象将 trait 实现转发到内部类型。
给定一个特征Foo,我很确定Box<Foo> / Box<dyn Foo> 是一个特征对象。 &Foo / &dyn Foo 也是 trait 对象吗?像Rc 或Arc 这样的其他智能指针呢?我怎样才能使自己的类型算作 trait 对象?
reference 只提到一次 trait 对象,但没有像定义一样。
【问题讨论】:
标签: rust traits trait-objects