Команда Rust рада представить выпуск Rust 1.21.0. Rust — это системный язык программирования, нацеленный на скорость, безопасность и параллельное выполнение кода.
Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:
$ rustup update stable
Если же у вас еще не установлен `rustup`, вы можете [установить его][1] с соответствующей страницы нашего веб-сайта. С [подробными примечаниями к выпуску Rust 1.21.0][2] можно ознакомиться на GitHub.
Этот выпуск содержит несколько небольших, но полезных изменений языка и новую документацию.
Первое изменение касается литералов. Рассмотрим код:
let x = &5;
В Rust он аналогичен следующему:
let _x = 5;
let x = &_x;
То есть `5` будет положено в стек или возможно в регистры, а `x` будет ссылкой на него.
Однако, учитывая, что речь идет о целочисленном литерале, нет причин делать значение таким локальным. Представьте, что у нас есть функция, принимающая `'static` аргумент вроде `std::thread::spawn`. Тогда вы бы могли использовать `x` так:
use std::thread;
fn main() {
let x = &5;
thread::spawn(move || {
println!("{}", x);
});
} [Читать дальше →][3]
[1]:
https://www.rust-lang.org/install.html
[2]:
https://github.com/rust-lang/rust/blob/master/RELEASES.md#version-1210-2017-10-12
[3]:
https://habrahabr.ru/post/340170/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut