это &mut T? https://docs.rs/bumpalo/latest/src/bumpalo/boxed.rs.html#320-327
Кто сказал, что для поля можно опустить инвариант своего типа после Drop::drop?
после дропа никто не может твой тип трогать, так что на либрари инварианты уже пофиг
Мутабельные ссылки не от библиотеки
мутабельная ссылка мувается в drop_in_place (если не происходит неявного reborrow, но я полагаю, что не происходит) и исчезает
Но можно реборровнуть и это не так работает
если там происходит reborrow, то мы получим мутабельную ссылку на невалидное значение, что невалидно
Это например когда?
Нельзя мувать из Drop::drop
А это произойдет если мы в дропе оставляем невалидное значение, что уже уб, кмк
логично, что подразумевает, что reborrow всё-таки происходит интересно
Если есть пример такого, то я бы глянул
Может тогда положить ссылку в ManuallyDrop?
Обсуждают сегодня