Задачи на ownership в Rust. Часть 2
Сделайте struct с полем String и реализуйте метод, забирающий ownership поля.
Дан код:
let s = String::from("Rust");
let x = s;
Объясните, почему s нельзя использовать дальше.
Сделайте функцию, возвращающую новую String из переданной.
Передайте Vec<i32> в функцию и измените его внутри (ownership).
Сравните move и borrow для String.
Сделайте struct Person с полем name и функцию, забирающую person.
Используйте String::from vs литерал "hello" — тип &str vs String.
Дан вектор:
let mut v = vec![1, 2, 3];
Передайте ownership функции, которая push-ит элемент.
Сделайте функцию, возвращающую ownership struct.
Объясните, когда Rust автоматически делает move.