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