如果我有Box<T>
,如何调用需要特征对象的函数?换句话说:
trait T { ... }
fn func(t: &T) { ... }
fn some_other_func() {
b: Box<T>; // Provided
// These work, but is there a better way?
func( &*b ); // 1
func( Borrow::borrow(&b) ); // 2
}
1和2都错了。我错过了一些明显的东西吗?
答案 0 :(得分:6)
&*foo
被称为“再借”,并且是惯用的。