Rust 如何使用turbofish算子实现泛型特征
我有以下共性特征:Rust 如何使用turbofish算子实现泛型特征,rust,traits,Rust,Traits,我有以下共性特征: trait A<T> { fn foo(&self) -> T; } 当我调用methodfoo时,我可以指定变量的类型,并且该类型可以工作: let value: usize = s.foo(); 但我怎么能对turbofish操作员做同样的事情呢 我尝试了以下几点,但没有成功: let text = s::<usize>.foo(); let text = s.foo::<usize>(); let text
trait A<T> {
fn foo(&self) -> T;
}
当我调用methodfoo
时,我可以指定变量的类型,并且该类型可以工作:
let value: usize = s.foo();
但我怎么能对turbofish操作员做同样的事情呢
我尝试了以下几点,但没有成功:
let text = s::<usize>.foo();
let text = s.foo::<usize>();
let text = s.::<usize>foo();
let text=s::.foo();
让text=s.foo::();
设text=s.::foo();
如何使用此运算符而不是向变量提供类型?您不能这样做,因为“turbofish”运算符是用于为某些对象指定泛型参数的语法,但您的方法不是泛型的,即使它是在泛型特征中定义的,因此没有要指定的泛型参数 您可以使用显式命名特征,这是通用的:
let text=A:::foo(&s);
关于该操作员的参考文件说明了什么?这也是相关的。(被骗者适用于这个问题:A:::foo&s)
)。完美。谢谢
let text = s::<usize>.foo();
let text = s.foo::<usize>();
let text = s.::<usize>foo();
let text = A::<usize>::foo(&s);