DropGuard::dismiss стал константным — отмена регистрации на этапе компиляции

14.12.2025

Метод DropGuard::dismiss и связанные с ним реализации трейтов стали константными. То есть отменить регистрацию в guard теперь можно на этапе компиляции.

Что делает этот метод

Guard — это структура, которая выполнит действие при выходе из области видимости. «Отмена» означает: не выполнять. Это нужно, когда действие уже сделано вручную и повторное выполнение было бы ошибкой.

Зачем нужна константность

Действия на этапе компиляции нужны для случаев, когда результат должен быть известен заранее: вычисление размера структуры, построение строки при компиляции, проверка условий в утверждениях.

Без константного варианта такие задачи приходилось решать обходным путём — обычно вручную повторяя логику guard, что и даёт расхождение между этапом компиляции и рантаймом.

Оригинал

constify DropGuard::dismiss and trait impls

Упоминаний: 1 · Просмотров: 1