Выпуск Rust 1.21

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

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

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

1
$ rustup update stable

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

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

Этот выпуск содержит несколько небольших, но полезных изменений языка и новую документацию.

Первое изменение касается литералов. Рассмотрим код:

1
let x = &5;

В Rust он аналогичен следующему:

1
2
let _x = 5;
let x = &_x;

То есть 5 будет положено в стек или возможно в регистры, а x будет ссылкой на него.

Однако, учитывая, что речь идёт о целочисленном литерале, нет причин делать значение таким локальным. Представьте, что у нас есть функция, принимающая 'static аргумент вроде std::thread::spawn. Тогда вы бы могли использовать x так:

1
2
3
4
5
6
7
8
9
use std::thread;

fn main() {
    let x = &5;

    thread::spawn(move || {
        println!("{}", x);
    });
}

Выпуск Rust 1.20

оригинал: The Rust Core Team • перевод: red75prime и Илья Богданов • новости • поддержите на Patreon

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

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

1
$ rustup update stable

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

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

В предыдущих версия Rust вы могли определять типажи, структуры и перечисления, имеющие «ассоциированные функции»:

1
2
3
4
5
6
7
8
9
10
11
struct Struct;

impl Struct {
    fn foo() {
        println!("foo - это ассоциированная функция для Struct");
    }
}

fn main() {
    Struct::foo();
}

Мы называем их «ассоциированными функциями», потому что эти функции связаны непосредственно с самим типом, а не с каким-то определённым экземпляром.

В Rust 1.20 была добавлена возможность определять «ассоциированные константы»:

1
2
3
4
5
6
7
8
9
struct Struct;

impl Struct {
    const ID: u32 = 0;
}

fn main() {
    println!("the ID of Struct is: {}", Struct::ID);
}

Таким образом, константа ID ассоциирована с Struct. Подобно функциям, ассоциированные константы работают и с типажами, и с перечислениями.

Game development in Rust, 14 сентября, Санкт-Петербург

• Логачев Федор • новости • поддержите на Patreon

14 сентября в Санкт-Петербурге состоится первая в истории встреча посвящённая разработке игр на Rust.

alt "Ferris"

Будут представлены доклады:

  • SHAR — 3d action на Rust, Фёдор Логачев

Обзор внутренностей и организации достаточно большой игры на Rust.

  • Three-rs — взгляд изнутри, Илья Богданов

Рассмотрим архитектурные решения и библиотеки, используемые при создании одного из самых молодых и активно развивающихся игровых движков на Rust.

  • Ржавые пошаговые игры, Андрей Лесников

Андрей расскажет о своём опыте хобби-разработки игры Zone of Control, немного о связанном с этим инструментарии и о своём новом проекте.

Мы будем рады как Rust-энтузиастам, так и тем, кто пока просто приглядывается к Rust с безопасного расстояния.

Мероприятие состоится 14-го сентября (четверг) в 19-00 в петербургском офисе JetBrains.

Для участия во встрече необходима регистрация на meetup

Выпуск Rust 1.19

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

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

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

1
$ rustup update stable

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

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

В Rust 1.19.0 вошли некоторые долгожданные функции, но для начала, замечание для пользователей Windows. На этой ОС Rust использует для сборки link.exe, который входит в состав «Microsoft Visual C++ Build Tools». В последнем выпуске Visual Studio 2017 структура директорий для этих инструментов изменилась. Из-за этого вы были вынуждены использовать инструменты версии 2015 или изменять переменные среды (например, запуская vcvars.bat). В Rust 1.19.0, rustc знает, как найти инструменты версии 2017, поэтому вам не потребуется более использовать обходные пути.

А теперь к новым возможностям! Rust 1.19.0 — это первый выпуск, поддерживающий union (Объединения):

1
2
3
4
union MyUnion {
    f1: u32,
    f2: f32,
}

Выпуск Rust 1.18

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

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

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

1
$ rustup update stable

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

Выпуск Rust 1.17

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

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

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

1
$ rustup update stable

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

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

Выпуск Rust 1.17.0 в основном вносит небольшие улучшения, преимущественно касающиеся удобства использования. Например, время жизни 'static теперь автоматически подразумевается для констант или статических переменных. При создании константы или статической переменной:

CoLaboratory: Rust #3. Лаборатория Касперского, 18 мая

• Михаил Панков • новости • поддержите на Patreon

лого

зарегистрироваться

Продолжаем нести знания людям. В этот раз у нас 3 доклада и много новостей, которые можно обсудить в кулуарах.

Расскажем про ООП в Rust, чтобы программисты, которые уже умеют в ООП, смогли лучше пользоваться тем, что есть в Rust. Там есть почти все привычные инструменты, но выглядят они по-другому.

Потом подробно поговорим про основы FFI — как передавать разные объекты из Rust и в Rust, кто будет ими владеть и чем отличается CStr и CString. Всё это нужно, если вы хотите взаимодействовать с Rust из кодобазы на других языках.

В завершение вечера поговорим о криптографических библиотеках в экосистеме Rust. Библиотеки, нацеленные на обеспечение безопасности, надо писать на безопасном языке.

Что касается новостей, Rust увеличил версию с 1.13 до 1.17. Прошедшие выпуски принесли поддержку многих новых целевых платформ, в том числе Emscripten для компиляции под браузеры. На 2017 заявлена инициатива по повышению эргономики языка, и уже видны первые её плоды — cargo check и много мелких улучшений удобства пользования языком. На пути к макросам 2.0 стабилизированы макросы типа «custom derive». serde достиг версии 1.0. Вышла альфа-версия Rust Language Server для поддержки IDE.

Приходите, будет интересно!

Выпуск Rust 1.16

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

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

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

1
$ rustup update stable

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

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

Самым большим дополнением в Rust 1.16 является команда cargo check. Эта новая подкоманда в большинстве случаев должна ускорить процесс разработки.

Что она делает? Давайте вернёмся немного назад и поговорим о том, как rustc компилирует ваш код. Компиляция происходит в несколько «проходов». Это значит, что компилятор выполняет множество различных этапов, прежде чем из вашего исходного кода будет создан бинарный файл. Вы можете увидеть каждый их этих этапов (и сколько времени и памяти они занимают) передав компилятору параметр -Z time-passes (только для nightly):

Промежуточные результаты выдвижения на реализацию идей

• Михаил Панков • новости • поддержите на Patreon

В этой публикации я расскажу о текущем состоянии реализации идей, выбранных на 2017-й год. Кто с чем вызвался помогать и как развивается сообщество.

результаты

CoLaboratory: Rust #3. Принимаем заявки на выступление 18 мая

• Михаил Панков • новости • поддержите на Patreon

лого

Rust продолжает развиваться с космической скоростью, а мы только и успеваем собираться и обсуждать нововведения.

18 мая мы снова встретимся в офисе Лаборатории Касперского — и у вас есть возможность выступить.

Подать заявку можно прямо на этой странице — нажимайте «Читать дальше».

Заявки принимаются по четверг 13 апреля включительно.

Если вы никогда раньше не выступали, мы вас обрадуем — мы готовы помогать с подготовкой доклада на всех этапах. Мы помогаем с идеями для выступления, планом, структурой, стилем и с самим выступлением — поэтому обращайтесь к @mkpankov в чате или по почте.

Чем раньше вы свяжетесь с нами, тем лучше мы можем сделать ваш доклад — поэтому не затягивайте.

Планы сообщества в 2017 году. Часть 4, последняя. Результаты голосования, процесс реализации запланированного и идеи участников

• Михаил Панков • новости • поддержите на Patreon

Всем привет! Продолжаем планировать 2017-й.

Планы пишутся по частям. Они публикуются по мере готовности в виде отдельных статей. Ссылки на них также будут появляться здесь.

  • Часть 1 — вступление, книги и социальные сети.
  • Часть 2 — митапы, выступления, календари событий, подкасты и конкурсы.
  • Часть 3 — статьи, сайт, Patreon, расширение тем и Ядро команды Сообщества.
  • Часть 4 (эта; последняя) — результаты голосования, процесс реализации запланированного и идеи участников.

Опросы

Планы сообщества в 2017 году. Часть 3. Статьи, сайт, Patreon, расширение тем и Ядро команды Сообщества

• Михаил Панков • новости • поддержите на Patreon

Всем привет! Продолжаем планировать 2017-й.

Планы пишутся по частям. Они публикуются по мере готовности в виде отдельных статей. Ссылки на них также будут появляться здесь.

  • Часть 1 — вступление, книги и социальные сети.
  • Часть 2 — митапы, выступления, календари событий, подкасты и конкурсы.
  • Часть 3 (эта) — статьи, сайт, Patreon, расширение тем и Ядро команды Сообщества.
  • Часть 4 — результаты голосования, процесс реализации запланированного и идеи участников.

редактирование этой статьи

Планы сообщества в 2017 году. Часть 2. Митапы, выступления, календари событий, подкасты и конкурсы

• Михаил Панков • новости • поддержите на Patreon

Всем привет! Продолжаем планировать 2017-й.

Планы пишутся по частям. Они публикуются по мере готовности в виде отдельных статей. Ссылки на них также будут появляться здесь.

  • Часть 1 — вступление, книги и социальные сети.
  • Часть 2 (эта) — митапы, выступления, календари событий, подкасты и конкурсы.
  • Часть 3 — статьи, сайт, Patreon, расширение тем и Ядро команды Сообщества.
  • Часть 4 — результаты голосования, процесс реализации запланированного и идеи участников.

фото с митапа

Планы сообщества в 2017 году. Часть 1. Вступление, книги и социальные сети

• Михаил Панков • новости • поддержите на Patreon

Всем привет! На результаты 2016-го посмотрели, теперь пора планировать 2017-й.

Планы будут написаны по частям. Они будут публиковаться по мере готовности в виде отдельных статей. Ссылки на них также будут появляться здесь.

  • Часть 1 (эта) — вступление, книги и социальные сети.
  • Часть 2 — митапы, выступления, календари событий, подкасты и конкурсы.
  • Часть 3 — статьи, сайт, Patreon, расширение тем и Ядро команды Сообщества.
  • Часть 4 — результаты голосования, процесс реализации запланированного и идеи участников.

Вступление

Формат этих публикаций таков. Я описываю идеи, а вы голосуете в их поддержку. «В поддержку» — значит, вы бы хотели реализации этой идеи. Ресурсы для её реализации будут сразу заявлены, но исполнитель будет выбран позже. Иными словами, кто именно и когда это сделает — в данном голосовании не важно.

карточка в трелле

Русскоязычное сообщество языка Rust в 2016 году

• Михаил Панков • новости • поддержите на Patreon

Всем привет! 2016-й был насыщенным годом, и я хочу рассказать, что мы сделали и что произошло в сообществе за это время.

Вот для затравки число посетителей сайта за год:

число посетителей за год

Соревнование Underhanded Rust 2016

оригинал: The Rust Community Team • перевод: авторы rustycrate.ru • новости • поддержите на Patreon

Команда связей с сообществом Rust рада сообщить о первом ежегодном соревновании Underhanded Rust. Это соревнование должно проверить наше предположение о готовности языка Rust и его экосистемы к написанию легко читаемого и надёжного кода. Воодушевившись примерами Underhanded C и Underhanded Crypto, мы хотим, чтобы вы заставили Rust работать неправильно, используя лёгкий для чтения код, к которому сложно придраться. Нам нужна ваша помощь в поиске брешей в языке и способов их исправления. Сможете ли вы написать стопроцентно безопасный код, скрывающий логическую ошибку, или так спрятать эксплойт в unsafe коде, чтобы он прошёл аудит? Попробуйте это сделать!

Выпуск Rust 1.13

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

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

Как обычно, вы можете установить Rust 1.13.0 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в 1.13.0 на GitHub. В этот выпуск вошло 1448 патчей.

Это была по-настоящему горячая пора в Rust. Мы участвовали в трёх конференциях подряд — RustConf, RustFest и Rust Belt Rust. Было классно увидеть так много любителей Rust; со многими мы встретились впервые! Мы много думали о будущем, разрабатывали план на 2017 и создавали инструменты, нужные нашим пользователям.

И несмотря на всё это, мы собрали новый выпуск с кучей новых крутых фишек.

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

Выпуск 1.13 включает долгожданный оператор ?, ускорение компиляции, добавление некоторых возможностей в Cargo и стандартную библиотеку. Также этот выпуск привносит множество небольших улучшений в документацию и сообщения об ошибках. Это результат работы многих людей, и они не упоминаются в замечаниях к выпуску индивидуально.

Выпуск содержит важные исправления уязвимостей в Cargo. Он зависит от curl и OpenSSL, а они оба недавно опубликовали обновления безопасности. Подробнее смотрите соответствующие анонсы curl 7.51.0 и OpenSSL 1.0.2j.

Оператор ?

Rust приобрёл новый оператор ?. Он делает работу c ошибками значительно приятнее, убирая визуальный шум. Например, у нас есть такой код для чтения данных из файла:

CoLaboratory: Rust 2. Лаборатория Касперского, 22 ноября

• Михаил Панков • новости • поддержите на Patreon

лого

зарегистрироваться

Rust — современный системный язык программирования. У него мощная система типов — она защищает программиста от многих ошибок. Например, использование освобождённой памяти и гонки данных в Rust обнаруживаются во время компиляции! При этом язык не использует сборку мусора. За счёт этого у него предсказуемая производительность. Кроме того, он легко встраивается в другие языки и отлично подходит для низкоуровневого программирования. На Rust можно писать надёжные, высокопроизводительные многопоточные программы.

За полгода с последней встречи в мире Rust произошло много интересного. Реализованы футуры и асинхронный ввод-вывод поверх них, сделан первый выпуск системы поддержки IDE, реализована инкрементальная сборка. Пробелы в языке и экосистеме Rust быстро заполняются. Так что самое время познакомиться с инструментом поближе!

22 ноября мы снова встретимся в офисе Лаборатории Касперского. Обсудим опыт реального применения Rust в нескольких задачах системного программирования и тестирования. Что получается хорошо, что — не очень. Расскажем как Rust помогает и как его готовить, чтобы он помогал вам.

Приходите — будет интересно!

Выпуск Rust 1.12.1

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

Мы рады представить новую версию Rust 1.12.1. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.12.1 с соответствующей страницы официального сайта, или с помощью rustup выполнив команду rustup update stable.

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

Секундочку… один-точка-двенадцать-точка… один?

Несколько недель назад, в анонсе версии 1.12, мы сказали:

Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0.

И это правда. Одним из важных изменений был масштабный рефакторинг компилятора. Новый бэкенд MIR изменил его архитектуру и некоторые детали реализации. В целом процесс модернизации прошёл так:

Анонс Rust 1.12

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

Мы рады представить новую версию Rust 1.12. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.12 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот выпуск вошёл 1361 патч.

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

Выпуск 1.12 — возможно, самый значительный с момента выпуска 1.0. Нам есть о чём рассказать, но если у вас мало времени, вот краткое содержание.

Самое заметное для пользователей изменение в 1.12 — это новый формат ошибок, выдаваемых rustc. Мы говорили о нём раньше и это первый стабильный выпуск, где новый формат доступен всем. Эти сообщения об ошибках — результат многочисленных усилий добровольцев, которые спроектировали, протестировали и обновили каждую ошибку rustc в соответствии с новым форматом. Нам интересно узнать, что вы думаете о новых ошибках:

Новая ошибка заимствования

Анонс Rust 1.11

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

Мы рады представить новую версию Rust 1.11. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.11 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот релиз вошло 1109 патчей.

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

В 1.11 мы много работали над внутренностями компилятора, которые ещё не стабильны. Мы рады сообщить, что MIR скоро станет транслятором по умолчанию и мы делаем первые шаги в направлении инкрементальной компиляции. В выпуске 1.11 мы заложили фундамент для этой работы.

Что касается видимых пользователям изменений, в последнем выпуске мы рассказывали о новом типе контейнера — cdylib.

Анонс Rust 1.10

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

Мы рады представить новую версию Rust 1.10. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.10 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот релиз вошло 1276 патчей.

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

В Rust 1.10 стала доступна одна из наиболее желаемых сообществом возможностей: прерывание работы (abort) при панике вместо размотки стека. Это поведение управляется флагом -C panic=abort или настройкой в Cargo.toml. Зачем это нужно? Как вы помните, паника означает непредвиденную проблему, и для многих приложений abort — разумный выбор. При использовании panic=abort генерируется меньше кода, что означает меньшие по объёму исполняемые файлы и чуть меньшее время компиляции. Очень приблизительная оценка говорит об уменьшении на 10% и размера файла, и времени компиляции. Эта возможность была определена в RFC 1513.

Анонс Rust 1.9

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

Мы рады представить новую версию Rust 1.9. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.9 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот релиз вошло порядка 1400 патчей.

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

Управляемая размотка стека

Самое большое изменение в Rust 1.9 — стабилизация модуля std::panic, который предоставляет методы остановки процесса размотки стека, запущенного паникой:

1
2
3
4
5
6
7
8
9
10
11
use std::panic;

let result = panic::catch_unwind(|| {
    println!("привет!");
});
assert!(result.is_ok());

let result = panic::catch_unwind(|| {
    panic!("о нет!");
});
assert!(result.is_err());

Этот интерфейс был определён в RFC 1236.

CoLaboratory: Rust — первая конференция о Rust в Москве

• Михаил Панков • новости • поддержите на Patreon

лого

зарегистрироваться

Rust — современный системный язык программирования с мощной системой типов. Он защищает от многих типичных ошибок программирования, таких как использование освобождённой памяти и гонки данных. Эти проблемы в Rust обнаруживаются сразу во время компиляции! При этом язык не использует сборку мусора — а значит, обладает предсказуемой производительностью, легко встраивается в другие языки и отлично подходит для встраиваемого программирования. На Rust можно писать надёжные, высокопроизводительные многопоточные программы.

Год назад произошёл выпуск первой стабильной версии языка — Rust 1.0. С тех пор язык активно развивался. Ещё вчера про Rust никто не знал, а сегодня Dropbox переписал на нём ядро своей дисковой инфраструктуры.

Вечером 17 мая мы соберёмся, чтобы поговорить о теоретических и практических моментах использования Rust, его экосистеме и инструментах, поделиться опытом написания программ на нём, а также рассмотреть частые проблемы и способы их решения.

Не пропустите! CoLaboratory: Rust — это шанс узнать о многообещающем языке программирования, который может вскоре заменить привычные инструменты, чьи позиции сейчас кажутся незыблемыми.

Анонс Rust 1.8

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

Мы рады представить новую версию Rust 1.8. Rust — это системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как обычно, вы можете установить Rust 1.8 с соответствующей страницы официального сайта, а также ознакомиться с подробным списком изменений в этой версии на GitHub. В этот релиз вошло порядка 1400 патчей.

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

В релиз вошли две новые возможности, а ещё у нас есть хорошие новости для пользователей Windows! Также продолжаются работы по замене make в нашей билд-системе на Cargo.

Во-первых, различные операторы составного присваивания, такие как += и -=, теперь могут быть перегружены через соответствующие трейты. Это изменение было результатом RFC 953 и выглядит следующим образом:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
use std::ops:: AddAssign;

#[derive(Debug)]
struct Count {
    value: i32,
}
   
impl AddAssign for Count {
    fn add_assign(&mut self, other: Count) {
        self.value += other.value;
    }
}  

fn main() {
    let mut c1 = Count { value: 1 };
    let c2 = Count { value: 5 };

    c1 += c2;

    println!("{:?}", c1);
}

Мы начинаем продажу эксклюзивного издания Растономикона!

• Михаил Панков • новости • поддержите на Patreon

Добрый день, дорогие читатели. Как вы знаете, наше сообщество перевело книгу о продвинутом и небезопасном программировании на Rust — «Rustonomicon». Мы решили, что хорошее содержимое должно быть в хорошей форме, и объявляем об уникальном издании этой книги, которая должна быть на полке каждого программиста на Rust.

Конечно, мы не могли обойти стороной отсылку к Лавкрафту. Напомним, что Некрономико́н (англ. Necronomicon) — вымышленная книга, придуманная Говардом Лавкрафтом и часто упоминаемая в литературных произведениях, основанных на мифах Ктулху. Согласно рассказу «Ведьмин Лог», в этой книге описаны все магические ритуалы, а также полная история Древних, которые постоянно вели ожесточённые войны.

Анонс Rust 1.7

оригинал: Rust Core Team • перевод: Михаил Панков • новости • поддержите на Patreon

Мы рады объявить новую версию Rust, 1.7. Rust — системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как всегда, вы можете установить Rust 1.7 с соответствующей страницы официального сайта, а также посмотреть подробный список изменений для версии 1.7 на Github. Этот релиз включил в себя 1300 патчей.

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

Этот релиз в основном нацелен на библиотеки. Хотя у нас есть несколько возможностей языка, которые мы готовим для будущих релизов, период, в который была разработана версия 1.7, включал праздники, поэтому люди меньше проводили время в комментариях на GitHub и вместо этого уделяли внимание близким.

Наши результаты и планы на 2016

• Михаил Панков • новости • поддержите на Patreon

Всем привет! В этой публикации я попробую описать состояние нашего сообщества и экосистемы, сформировавшейся вокруг него, а затем опишу области, которые, на мой взгляд, стоит развивать.

Обсудить эти планы можно в комментариях к публикации.

Но сначала я хочу сказать спасибо всем участникам нашего сообщества — за работу, за общение и за поддержку. Я рад, что не я один работаю над улучшением сообщества. У нас очень дружелюбный народ в чате. Мы выросли до 150 человек за пару месяцев. Продолжайте в том же духе — это много значит :)

Также прошу присылать Pull Request’ы с исправлениями и дополнениями этой публикации, если что-то не так.

А теперь к делу. Я рассмотрю результаты 2015-го и разные грани возможных улучшений — и при этом, надеюсь, не напишу очень длинный текст. Я не буду сильно вдаваться в подробности, поэтому если вы хотите узнать о чём-то больше — пишите мне на почту или в чате.

Анонс Rust 1.6

• Константин Степанов • новости • поддержите на Patreon

Привет в 2016-м году! Мы рады объявить первый в этом году релиз Rust — 1.6. Rust — системный язык программирования, нацеленный на безопасную работу с памятью, скорость и параллельное выполнение кода.

Как всегда, вы можете установить Rust 1.6 с соответствующей страницы нашего сайта, а также посмотреть подробный список изменений для версии 1.6 на Github. Этот релиз включил в себя 1100 патчей.

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

В этот релиз вошли ряд небольших доработок, одно большое нововведение и изменение на Crates.io.

Стабилизация libcore

Самое большое нововведение в 1.6 — стабилизация библиотеки libcore. Стандартная библиотека Rust состоит из двух слоёв: маленькая базовая библиотека libcore и полная стандартная библиотека libstd, которая построена на основе libcore. Сама libcore полностью платформенно-независимая и требует, чтобы было определено несколько внешних функций. Полная библиотека libstd основана на libcore и добавляет поддержку выделения памяти, операций ввода-вывода и многопоточность. При использовании Rust во встроенных средах и при написании операционных систем часто отказываются от libstd и используют только libcore.

Rust в 2016 году

оригинал: Nick R. Cameron • перевод: Иван Иващенко • новости • поддержите на Patreon

2015 год был значительным годом для Rust: мы выпустили версию 1.0, стабилизировали большинство элементов языка и кучу библиотек, значительно выросли как сообщество, а также реорганизовали управление проектом. Может показаться что 2016 год не будет таким же интересным (будет трудно превзойти выпуск 1.0), но это будет супер-важный год для Rust, в которым произойдёт много захватывающих вещей. В этой статье я расскажу о том, что, как я думаю, должно произойти. Это не официальная позиция и не обещание разработчиков Rust.

2015

Прежде чем мы поговорим о будущем, вот несколько цифр за прошлый год:

Здравствуй, мир!

• команда rustycrate • новости • поддержите на Patreon

Добро пожаловать на русскоязычный сайт для разработчиков на Rust!

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

Создание сообщества назревает уже давно. Наш язык миновал заветный выпуск «1.0». Rust стабилен, экосистема растёт как на дрожжах, а улучшения поспевают в каждом новом выпуске. Самое время расширять аудиторию!