Вышел Rust 1.23
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 для {, }::as_ref и для ::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
Полный перечень изменений
>>> Анонс
Интересные изменения:
За счёт предотвращения ненужного копирования аргументов функций уменьшено потребление памяти. Например сам компилятор 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 для {, }::as_ref и для ::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
Полный перечень изменений
>>> Анонс
Ещё новости по теме:
18:20