Выпуск Rust 1.44.0: cargo tree, async/await в no_std, Unicode 13 и vec![] в const-контексте

    Данный анонс является компиляцией черновика анонса и подробных примечаний к выпуску. Официальный анонс короче, чем обычно:


    This is a shorter blog post than usual: in acknowledgement that taking a stand against the police brutality currently happening in the US and the world at large is more important than sharing tech knowledge, we decided to significantly scale back the amount of promotion we're doing for this release.

    The Rust Core Team

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


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


    rustup update stable

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


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


    Выпуск Rust 1.44 не содержит значительных изменений: мы полировали существующее и стабилизировали несколько API в стандартной библиотеке.


    cargo tree — очень старое и популярное дополнение для Cargo, которое выводит в консоль зависимости проекта в виде дерева. Его первый выпуск был в декабре 2015 и к настоящему моменту у него уже около 50000 загрузок; мы решили добавить его в Cargo.


      mdbook v0.3.2 (/Users/src/rust/mdbook)
    ├── ammonia v3.0.0
    │   ├── html5ever v0.24.0
    │   │   ├── log v0.4.8
    │   │   │   └── cfg-if v0.1.9
    │   │   ├── mac v0.1.1
    │   │   └── markup5ever v0.9.0
    │   │       ├── log v0.4.8 (*)
    │   │       ├── phf v0.7.24
    │   │       │   └── phf_shared v0.7.24
    │   │       │       ├── siphasher v0.2.3
    │   │       │       └── unicase v1.4.2
    │   │       │           [build-dependencies]
    │   │       │           └── version_check v0.1.5
    ...

    Из этого примера мы видим, что mdbook зависит от пакета ammonia, который в свою очередь зависит от html5ever, а он уже от log, mac, markup5ever и так далее.


    Также вы можете использовать cargo tree -d (сокращение для cargo tree --duplicates) для отображения зависимостей разных версий одного и того же пакета. Она отобразит записи для всех версий всех зависимостей и инвертированное дерево зависимостей, показывающее как каждая версия была получена.


    Этот выпуск также отмечает расширение возможностей использования async/await: теперь их можно использовать в no_std контексте. До этого реализация временно требовала локальной памяти потока. В этом выпуске данное ограничение было убрано, а значит наличие libstd больше не обязательно при использовании async/await.


    Изменения в стандартной библиотеке


    vec![] теперь может быть использован в const-контексте. Обратите внимание, что так можно создать только пустой вектор: vec![] скомпилируется, а vec![1, 2, 3] — нет.


    Добавлена поддержка Unicode 13.


    Vec<T> теперь реализует From<[T; N]> при N не большем 32.


    Дополнительно мы стабилизировали 11 новых API:



    Другие изменения



    Синтаксис, пакетный менеджер Cargo и анализатор Clippy также претерпели некоторые изменения.


    Участники 1.44.0


    Множество людей собрались вместе, чтобы создать Rust 1.44.0. Мы не смогли бы сделать это без всех вас, спасибо!


    От переводчиков


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

    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 4

      0
      А еще в релиз ноуте, забыли:
      The Rust Core Team believes that tech is and always will be political, and we encourage everyone take the time today to learn about racial inequality and support the Black Lives Matter movement.
        0

        Похоже на last-ditch effort привлечь хоть кого-то в коммьюнити

          0
          Нет, но там в верхах Раста засели конкретные леваки. Они уже давно объясняли что их маскот Ferris это небинарный they
          +5

          Похоже, уже не осталось не-политизированных IT-сообществ. Да, можно сказать что и раньше было так, движение Free Software и всё такое, но как правило эти движения возникали как реакция на проблемы именно в IT-сфере. Сейчас же граница размыта, всё смешивают в одном котле без разбора. Не думаю что сообщество и язык получит выгоду от этого, так как это весьма деструктивная вещь.

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

        Самое читаемое