Size: a a a

2021 April 29

TK

Traveller Kolsky in rust_offtopic
forget может вызвать одну или несколько утечек памяти, а может и не вызвать
источник

EG

Emmanuel Goldstein in rust_offtopic
Естественно, если этим менеджился какой-то ресурс, то вот этот ресурс ликнется
источник

П

Пух in rust_offtopic
Ну кароч надо чот типа кастомного дропа и паники в нормальном дропе
источник

EG

Emmanuel Goldstein in rust_offtopic
Но сам по себе объект спокойно освободится
источник

П

Пух in rust_offtopic
Но только не в рантайме ещё))
источник

EG

Emmanuel Goldstein in rust_offtopic
Можно донт_паник прописать в дропе
источник

EG

Emmanuel Goldstein in rust_offtopic
Я полагаю, что это неожиданно хорошо сработает
источник

П

Пух in rust_offtopic
Всм
источник

П

Пух in rust_offtopic
Типа компилер умный и бранчи поудаляет все?
источник

EG

Emmanuel Goldstein in rust_offtopic
Типа. Но нет, не прокатило, деструктор не удаляется из кода.
источник

EG

Emmanuel Goldstein in rust_offtopic
Даже если никогда не вызывается
источник

EG

Emmanuel Goldstein in rust_offtopic
источник

П

Пух in rust_offtopic
Код на паники до удаления мертвого проверяется, скорее всего
источник

EG

Emmanuel Goldstein in rust_offtopic
Там нет паник
источник

П

Пух in rust_offtopic
А ну у тебя в пг чуть другое, но да
источник

EG

Emmanuel Goldstein in rust_offtopic
Там вызов несуществующей extern-функции, который должен привести к ошибке линкера, если он где-то остался
источник

П

Пух in rust_offtopic
Ишшуй надо в расторепу)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
ещё раз: в дропе я забыл заюзать значение получаетяс?
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
я пр осаму имплементацию дропа
источник

EG

Emmanuel Goldstein in rust_offtopic
Да
Корректная реализация была бы что-то вроде
x.drop();
forget(x);
источник