Привет.
Статья не предполагает, что вы узнаете что-то новое из Rust, или вы научитесь ему. Это скорее эксперимент показать ребенку как он выглядит изнутри, а не как на нем надо писать.
То есть, еще раз, разработчики привыкли смотреть на язык с позиции как надо им, и если язык не укладывается в их парадигму, это начинает бесить.
Тут я постарался посмотреть на ситуацию с точки зрения "книжки с картинками", как он живет, а не как мы привыкли.
Дисклеймер — в статье речь не про Copy-тип, к которым относятся, например, i32
, f64
, bool
, char
, &T
. А про move-типы (например, String), которые перемещают значения.
Ну, попробуем.
Отталкиваемся от того, что в Rust значением (ячейкой памяти) может владеть только одна переменная. Введем обозначения: let
— "позволим", =
— "владеть".
Получаем следующее.
Читать далее