Size: a a a

2021 April 28

EG

Emmanuel Goldstein in rust_offtopic
Который деструктурирует значение и оно исчезнет
источник

П

Пух in rust_offtopic
А сейчас что не так?
источник

B

Börgar in rust_offtopic
да елы палы дайте пару статей зачем эти типы вообще надо
источник

EG

Emmanuel Goldstein in rust_offtopic
А сейчас у тебя дроп принимает значение по мутссылке и его нельзя вызвать
источник

EG

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

П

Пух in rust_offtopic
drop(t)
источник

П

Пух in rust_offtopic
Не напрямую, но ты понял
источник

EG

Emmanuel Goldstein in rust_offtopic
drop() это не специальная функция
источник

П

Пух in rust_offtopic
А, типа надо явно дроп вызывать?
источник

EG

Emmanuel Goldstein in rust_offtopic
Drop::drop специальная
источник

TK

Traveller Kolsky in rust_offtopic
drop это не вызов дропа
источник

П

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

EG

Emmanuel Goldstein in rust_offtopic
Или передать в другую функцию по значению, или сохранить в структуре
источник

EG

Emmanuel Goldstein in rust_offtopic
В любом случае, использовать
источник

П

Пух in rust_offtopic
Ну то есть из фичей только явный дроп, так?
источник

EG

Emmanuel Goldstein in rust_offtopic
Обязательным это можно было бы сделать только для #[must_use] значений, например
источник

TK

Traveller Kolsky in rust_offtopic
Может быть, есть убедительная причина? Чтобы для dst работало, например.
источник

EG

Emmanuel Goldstein in rust_offtopic
Из фичей тут:
1. Обязательство деструктурировать значение либо передать его по значению в другую функцию
2. Drop::drop(self) вместо Drop::drop(&mut self)
источник

EG

Emmanuel Goldstein in rust_offtopic
Есть убедительная причина. Дропать значения в куче, не перемещая их на стек.
источник

EG

Emmanuel Goldstein in rust_offtopic
Сейчас self у тебя в Rust живёт на стеке
источник