это псевдо-код очистки стека, условный вызов деструктора, флажок компилятор сам добавит
void foo(std::unique_ptr<T>); void bar() { auto v = std::make_nuique<T>(); foor(std::move(v)); } сколько тут runtime if на выходе из функции?
Это собственно drop flags :) https://doc.rust-lang.org/nomicon/drop-flags.html
звиняй, но в расте не так
Флаги всё равно понадобятся если convention меняется, exception же может быть, перемещённым параметр можно считать только непосредственно перед вызовом функции.
Обсуждают сегодня