Valen проверяет память задом наперёд — и это работает
A new way to think about borrow checking (in reverse)
Автор Valen рассказывает о необычном borrow checker, который обходит функцию в обратном порядке: от последней строки к первой. Вместо привычной проверки «объявлено ли раньше, чем использовано» он собирает список переменных, которые ещё будут использованы ниже, и следит, чтобы мутация не аннулировала ни одну из них. Такой подход удобнее для циклов, анализа последнего использования и скорости. Автор просит читателей найти дыры в алгоритме.
Пока, насколько я знаю, это единственный borrow checker, чья проверка безопасности идёт в обратном направлении.