该特征的文档Index说该方法返回对关联类型(link.index() )的引用:Output
fn index(&self, index: Idx) -> &Self::Output;
Run Code Online (Sandbox Code Playgroud)
对于Vec<T>和usize索引,Output是T。因此,我希望以下代码片段中的变量a具有类型&i32。
let v = vec![0];
let a = v[0];
Run Code Online (Sandbox Code Playgroud)
然而, 的类型a是i32. 为什么?我正在学习 Rust,据我了解,Rust 要求你在任何地方都必须明确,并且从不value<->reference隐式执行转换。因此就有了这个问题。