DropGuard::dismiss стал константным — отмена регистрации на этапе компиляции
14.12.2025Метод DropGuard::dismiss и связанные с ним реализации трейтов стали константными. То есть отменить регистрацию в guard теперь можно на этапе компиляции.
Что делает этот метод
Guard — это структура, которая выполнит действие при выходе из области видимости. «Отмена» означает: не выполнять. Это нужно, когда действие уже сделано вручную и повторное выполнение было бы ошибкой.
Зачем нужна константность
Действия на этапе компиляции нужны для случаев, когда результат должен быть известен заранее: вычисление размера структуры, построение строки при компиляции, проверка условий в утверждениях.
Без константного варианта такие задачи приходилось решать обходным путём — обычно вручную повторяя логику guard, что и даёт расхождение между этапом компиляции и рантаймом.
Оригинал
constify DropGuard::dismiss and trait impls
Упоминаний: 1 · Просмотров: 1