Я подозреваю, что компилятор удаляет let x = debug
(так как x
не используется иным образом).
Подобные вещи распространены в сборке релиза, где происходит значительная перестройка кода оптимизатором, но в зависимости от компилятора это может происходить и в неоптимизируемой сборке.
Почему бы не установить точку останова в предыдущем выражении?