что в Rust нет гарантий от утечек памяти если Rust позиционируется как системный язык программирования?
Эту гарантию тяжело предоставлять.
Смотри, давай посмотрим на примере. Есть Vec<T>, у него есть деструктор. Он конечно должен освободить память, но нас это сейчас не интересует. А интересует то, что в деструкторе вектора тебе надо вызвать деструктор каждого элемента, в нем хранящегося. А теперь рассмотрим ситуацию - был вектор из 5 элементов, у первых 2 ты вызвал деструктор и он отработал, потом вызвал у третьего, а он кинул панику. Твои действия?
Паника в деструкторе - это же моментальный аборт, не?
разве обработчика panic нет?
Есть, но как он вектор дочистит?
Обсуждают сегодня