Enquanto aprendia rust
, encontrei este trecho incorporado em uma resposta a um problema online. Eu não esperava que essa fosse a resposta correta, pois ingenuamente pensei que elem_refs.sort()
classificaria pelas referências no vetor em vez das strings.
Por que elem_refs.sort() classifica as strings em vez das referências às strings (ou melhor, &str
's)? Obviamente, é conveniente e o resultado desejado, mas onde esse comportamento está documentado? Muito obrigado por seus insights.
fn main() {
let list = ["b", "d" , "q", "a", "t" ];
let mut elem_refs: Vec<&&str> = list.iter().collect();
println!("{:?}", elem_refs);
elem_refs.sort();
println!("{:?}", elem_refs);
}
["b", "d", "q", "a", "t"]
["a", "b", "d", "q", "t"]