支持 trait 对象的更多容器类型

在 Rust 1.0 中,只有某些特殊的类型可以创建成 trait objects.
在 Rust 1.2 中,这种限制被解除了,更多的类型可以做到这一点。 例如,
Rc<T>,Rust 的引用计数类型之一:
1. use std::rc::Rc;
3. trait Foo {}
5. impl Foo for i32 {
7. }
9. fn main() {
10. let obj: Rc<dyn Foo> = Rc::new(5);
11. }
这段代码在 Rust 1.0 中无法执行,但是现在可以了。
如果您之前没有看过
dyn语法,请参阅相关章节。对于不支持它的版本,将Rc <dyn Foo>替换为Rc <Foo>。
