Выпуск Rust 1.27

оригинал: The Rust Core Team • перевод: XX • новости • поддержите на Patreon

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.27.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.27.0 вам достаточно выполнить:

1
$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.27.0 можно ознакомиться на GitHub.

Также мы хотим обратить ваше внимание вот на что: перед выпуском версии 1.27.0 мы обнаружили ошибку в улучшении сопоставлений match, введённом в версии 1.26.0, которая может привести к некорректному поведению. Поскольку она была обнаружена очень поздно, уже в процессе выпуска данной версии, хотя присутствует с версии 1.26.0, мы решили не нарушать заведённый порядок и подготовить исправленную версию 1.27.1, которая выйдет в ближайшее время. И дополнительно, если потребуется, версию 1.26.3. Подробности вы сможете узнать из соответствующих примечаний к выпуску.

Что вошло в стабильную версию 1.27.0

В этом выпуске выходят два больших и долгожданных улучшения языка. Но сначала небольшой комментарий относительно документации: во всех книгах в библиотечке Rust теперь доступен поиск! Например, так можно найти «заимствование» («borrow») в книге «Язык программирования Rust» Надеемся, это облегчит поиск нужной вам информации. Кроме того, появилась новая Книга о rustc. В этой книге объясняется, как напрямую использовать rustc, а также как получить другую полезную информацию, такую как список всех статических проверок.

SIMD

Итак, теперь о важном: отныне в Rust доступны базовые возможности использования SIMD! SIMD означает «одиночный поток команд, множественный поток данных» (single instruction, multiple data). Рассмотрим функцию:

1
2
3
4
5
pub fn foo(a: &[u8], b: &[u8], c: &mut [u8]) {
    for ((a, b), c) in a.iter().zip(b).zip(c) {
        *c = *a + *b;
    }
}

Пишем простой веб сервис на языке программирования Rust

оригинал: Daniel Welch • перевод: Александр Андреев • обучение • поддержите на Patreon

Я новичок в языке Rust, но он быстро становится моим любимым языком программирования. Хотя написание небольших проектов на Rust обычно менее эргономично и занимает больше времени (по крайней мере, со мной за рулём), это бросает вызов тому, как я думаю о дизайне программы. Мои бои с компилятором становятся менее частыми, после того как я узнаю что-то новое.

Я работаю над дополнением zigbee2mqtt Hass.io, это расширение Домашний помощник для платформы домашней автоматизации. Надстройка опирается на библиотеку zigbee2mqtt. zigbee2mqtt довольно новый проект, который быстро развивается и ещё не имеет опубликованных релизов. Дополнения на Hass.io распространяются в виде Docker-контейнеров и zigbee2mqtt просто использует самую свежую ветку master базовой библиотеки при сборке контейнера. При таком подходе возникла проблема: когда новые коммиты были перенесены в zigbee2mqtt, пользователи дополнения не могли обновиться до последней версии, пока контейнер дополнения не был собран (что происходит автоматически в Travis CI только тогда, когда коммиты были перенесены в репозиторий add-on). Мне нужен был способ запускать сборку на Travis всякий раз, когда библиотека была изменена на Github. Почему бы не реализовать это на языке Rust?

В этом посте я пройдусь по созданию простого веб-сервиса в Rust с помощью actix-web, который принимает входящие сообщения Github webhook и запускает сборку Travis CI через Travis API V3.

Выпуск Rust 1.26

оригинал: The Rust Core Team • перевод: XX • новости • поддержите на Patreon

Команда разработчиков Rust рада сообщить о выпуске новой версии Rust: 1.26.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust с помощью rustup, то для обновления Rust до версии 1.26.0 вам достаточно выполнить:

1
$ rustup update stable

Если у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.26.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.26.0

Последние несколько выпусков имели ряд относительно небольших улучшений. Тем не менее, мы продолжали работу над многими другими вещами и теперь они начинают выходить в стабильной версии. Версия 1.26, возможно, самая богатая нововведениями со времён выпуска Rust 1.0. Давайте их рассмотрим!

Второе издание книги «Язык программирования Rust»

Почти 18 месяцев Кэрол, Стив и другие работали над полной переработкой книги «Язык программирования Rust». С момента написания первой книги мы узнали много нового о том, как люди изучают Rust, так что новая версия книги теперь лучше во всех отношениях.

Выпуск Rust 1.25

оригинал: The Rust Core Team • перевод: BORN2LOSE • новости • поддержите на Patreon

Команда Rust рада сообщить о новой версии Rust: 1.25.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:

1
$ rustup update stable

Если же у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.25.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.25.0

Несколько последних выпусков были незначительными, но Rust 1.25 содержит много нововведений! Во-первых: мы обновили LLVM с 4-й версии до 6-й. Обновление влечёт ряд изменений, наиболее важное из которых — поддержка AVR.

Выпуск Rust 1.24

оригинал: The Rust Core Team • перевод: LooMaclin • новости • поддержите на Patreon

Команда Rust рада сообщить о новой версии Rust: 1.24.0. Rust — это системный язык программирования, нацеленный на безопасность, скорость и параллельное выполнение кода.

Если у вас установлена предыдущая версия Rust, для обновления достаточно выполнить:

1
$ rustup update stable

Если же у вас ещё не установлен rustup, вы можете установить его с соответствующей страницы нашего веб-сайта. С подробными примечаниями к выпуску Rust 1.24.0 можно ознакомиться на GitHub.

Что вошло в стабильную версию 1.24.0

Этот выпуск содержит два очень интересных нововведения: rustfmt и инкрементальную компиляцию!