LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

оно же в одном блоке видимости все происходит

Он и видит переменную, ошибки о том что она отсутствует, нету. Если переменная будет типа int, то ошибки не будет.

чому rust затирает переменную буквально сразу после присваивания

Он ее не затирает.

Чего ради это сделано?

Оператор = на объекты в разных языках работает по разному, Rust выбрал перемещение, это хороший вариант, объект вообще может не поддерживать клонирование. В Java объектов на стеке как у тебя вообще нету, поэтому твой код вовсе не идентичен коду на Rust.

Зачем тебе во всем этом разбираться?

Исправление MOPKOBKA, :

оно же в одном блоке видимости все происходит

Он и видит переменную, ошибки о том что она отсутствует, нету. Если переменная будет типа int, то ошибки не будет.

чому rust затирает переменную буквально сразу после присваивания

Он ее не затирает.

Чего ради это сделано?

Оператор = на объекты в разных языках работает по разному, Rust выбрал перемещение, это хороший вариант, объект вообще может не поддерживать клонирование. В Java объектов на стеке как у тебя вообще нету, поэтому твой код вовсе не идентичен коду на Rust.

Исходная версия MOPKOBKA, :

оно же в одном блоке видимости все происходит

Он и видит переменную, ошибки о том что она отсутствует, нету. Если переменная будет типа int, то ошибки не будет.

чому rust затирает переменную буквально сразу после присваивания

Он ее не затирает.

Чего ради это сделано?

Оператор = на объекты в разных языках работает по разному, Rust выбрал перемещение, это хороший вариант, объект вообще может не поддерживать клонирование.