Precisamos criar manualmente um destruidor para uma lista vinculada?
eu estou lendoAprendendo a ferrugem com listas vinculadas inteiramente demais e estou confuso sobre o porquê da lista vinculada (pilha)precisa de um destruidor.
Eu acho que quando o valor da lista está fora do escopo, a própria lista e todos os nós seriam limpos. É apenas para demonstração?
Eu tento comparar a versão com e sem destruidor manual e achei que a versão "sem destruidor" tem melhor desempenho:
for _ in 1..30000000 {
let mut list = List::new();
list.push(1);
assert_eq!(list.pop(), Some(1));
}
Com destruidor manual:
real 0m11.216s
user 0m11.192s
sys 0m 0.020s
Sem destruidor manual:
real 0m9.071s
user 0m9.044s
sys 0m0.004s