VK
Size: a a a
VK
A
var как в этом примере, у нас там let. И это не переменная, это биндинг. Т.е. если переписать твой пример выше, то код let x = 1; let x = x+1; не объявляет две переменные с одинаковым именем. В расте вообще нет понятия "переменная". Есть значение, оно может хранится где угодно (память, регистр, астрал, whatever), и к нему может существовать биндинг, т.е. имя, по которому ты на значение ссылаешься в программе. В примере выше создаётся биндинг для значения 1, затем это значение мувается, т.е. биндинг становится невалидным, к значению прибавляется 1, и новое значение снова получает биндинг с тем же именем. Это кажется дурацким и неестесственным на этом маленьком примитивном примере, но почитай про концепцию значений, перемещения и заимствования - тогда станет более понятно. И да, пример выше - действительно говнокод, именно так на расте не пишут, но переиспользовать имя можно, если старое значение ты замувал (т.е. биндинг всё равно стал невалидным).O
VK
O
Р
MF
while (true)
if (raic_is_running())
write_strategy()
else
Dima_gde_anons()O
VK
D
O
AK
O
KB
raic.physics = TrueFalseAK
МВ
D
O
MF
D