Нужно ли нам вручную создавать деструктор для связанного списка?

я читаюИзучение Rust с использованием слишком большого количества связанных списков и я запутался, почему связанный список (стек)нужен деструктор.

Я думаю, что когда значение списка находится вне области видимости, сам список и все узлы будут очищены. Это только для демонстрации?

Я пытаюсь сравнить версию с ручным деструктором и без него, и обнаружил, что версия без деструктора имеет лучшую производительность:

for _ in 1..30000000 {
        let mut list = List::new();
        list.push(1);
        assert_eq!(list.pop(), Some(1));
}

С ручным деструктором:

real    0m11.216s
user    0m11.192s
sys     0m 0.020s

Без ручного деструктора:

real    0m9.071s
user    0m9.044s
sys     0m0.004s

Ответы на вопрос(2)

Ваш ответ на вопрос