【发布时间】:2017-01-23 17:36:35
【问题描述】:
我想要一个函数foo 获取一个实现特征A 的类型的实例。我总是更喜欢使用泛型来进行静态调度:
trait A {}
fn foo<T: A>(t: T) {}
但是,这种方法引入了一些不灵活,我不能像这里一样传递 trait 对象:
trait A {}
fn foo(t: &A) {}
问题是,有时我知道类型,有时不知道。有没有一种方法可以同时对 trait 对象进行动态分派和对编译时已知类型进行静态分派,同时不实现两次?
【问题讨论】: