Вышел Rust 1.23

good-penguin.png

4 января вышел плановый 1.23 релиз компилятора и стандартных средств разработки системного языка программирования Rust.

Интересные изменения:

  • За счёт предотвращения ненужного копирования аргументов функций уменьшено потребление памяти. Например сам компилятор rustc стал потреблять на 5–10% меньше памяти.
  • rustdoc перешёл на рендеринг документации при помощи CommonMark. Раньше использовался Hoedown.
  • The Cargo Book переехал с doc.crates.io на doc.rust-lang.org и обновил формат.
  • cargo uninstall научился сразу удалять несколько пакетов. Например команда cargo uninstall foo bar удалит foo и bar.
  • auto трейты теперь разрешены в трейтовых объектах. Один из коммитов этого изменения так же окончательно удалил элемент языка send.
  • Проверки типов операндов бинарных операторов теперь производится относительно левого операнда, что предотвращает путаницу в соответствующих сообщениях об ошибках.
  • Удалена необходимость в T: Sync для RwLock: Send
  • Удалена необходимость в T: Sized для {<*const T>, <*mut T>}::as_ref и для <*mut T>::as_mut
  • Оптимизирована реализация Thread::{park, unpark}
  • Улучшена производительность SliceExt::binary_search
  • Трейт AsciiExt объявлен устаревшим, а его методы перенесены в примитивные типы.
  • char::escape_debug теперь использует Unicode 10 вместо Unicode 9.
  • Включён LLVM флаг TrapUnreachable
  • musl, используемый для сборки musl rustc, обновлён до 1.1.17
  • Улучшена производительность SliceExt::binary_search
  • rustfmt включён в основную инсталляцию.
  • минимальная версия LLVM изменена на 3.9

    Полный перечень изменений

>>> Анонс

©  Linux.org.ru