I check Index trait in doc and find return type of index()
is &T
.
Then I write this function to get value from vector:
fn get_value_test(a: usize, v: &Vec<i32>) -> i32 {
v[a]
}
My question is: why v[a]
is i32
but &i32
? Because i32
...have a known size at compile time are stored entirely on the stack, so copies of the actual values are quick to make
? (from here)
It looks like Rust have hidden rule to convert type in this situation?