23 апр. 2023 г.·1 мин

Представляем Rust 1.69: достижения в разработке программного обеспечения на системном уровне

Rust 1.69 представляет несколько улучшений, в том числе улучшения подкоманды Cargo Fix и исключение отладочной информации в сценариях сборки. Предыдущие версии включали новые функции, такие как разреженная оптимизация протокола реестра, закрепление стека и улучшенные каналы с несколькими производителями.

Представляем Rust 1.69: достижения в разработке программного обеспечения на системном уровне

Rust, язык программирования, предназначенный для упрощения разработки программного обеспечения на системном уровне, попал в заголовки новостей благодаря своему последнему обновлению Rust 1.69. Этот передовой язык предлагает улучшенное качество кода с меньшим количеством компромиссов по сравнению с его аналогами, такими как C, C++ и Go, обеспечивая регулярные обновления и улучшения.

Чтобы обновиться до Rust 1.69, пользователям с предыдущей версией Rust, установленной через rustup, необходимо ввести следующую команду:

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

Улучшения в Rust 1.69 включают подкоманду cargo fix для автоматического исправления простых предупреждений компилятора, появившихся в Rust 1.29. Количество предупреждений, которые он может исправлять, увеличилось, и была добавлена поддержка автоматического исправления нескольких простых в устранении предупреждений Clippy. Кроме того, Cargo теперь предлагает запустить cargo fix или cargo clippy --fix при обнаружении исправимых предупреждений. Полный вызов Cargo помогает точно применить исправления к одному ящику.

Кроме того, Rust 1.69 больше не включает отладочную информацию в скрипты сборки по умолчанию для повышения скорости компиляции. Cargo теперь не выдает отладочную информацию в скриптах сборки. Разработчики не заметят никакого влияния, если скрипты сборки будут выполняться правильно. Несколько API также были стабилизированы, в том числе cstr::from_bytes_until_nul и core::ffi::FromBytesUntilNulError .

В предыдущем выпуске Rust 1.68 ключевой особенностью была стабильность протокола разреженного реестра для менеджера пакетов Cargo. Ожидается, что этот новый протокол повысит производительность при доступе к crates.io за счет устранения ограничений масштабирования и задержек, связанных с протоколом Git. Протокол sparse станет протоколом по умолчанию для crates.io в Rust 1.70.0, выход которого ожидается через несколько месяцев.

Другие улучшения, представленные в Rust 1.68, включали новую pin! макрос для построения Pin<&mut T> из T-выражения и стабилизирующих API, таких как {core, std}::pin::pin! и impl DerefMut for PathBuf .

Rust 1.67 сосредоточился на добавлении предупреждения компилятора для #[must_use] и async fn. Кроме того, обновлена реализация канала с несколькими производителями и одним потребителем и стабилизированы многочисленные API, такие как {integer}::checked_ilog , {integer}::ilog и NonZero*::BITS .

Выпущенная в декабре 2022 года версия Rust 1.66 представила такие функции, как разрешение перечислениям с целочисленными представлениями использовать явные дискриминанты с полями. В этой версии также добавлена новая стабилизированная функция black_box , возможность удаления зависимостей с помощью cargo remove , диапазоны ..=x в шаблонах и стабилизация API.

Многочисленные проекты разработки программного обеспечения на заказ извлекают выгоду из оптимизации Rust для разработки программного обеспечения на системном уровне. Кроме того, AppMaster, платформа no-code , помогает ускорить создание серверных, веб-приложений и мобильных приложений для пользователей.

Легко начать
Создай что-то невероятное

Экспериментируйте с AppMaster с бесплатной подпиской.
Как только вы будете готовы, вы сможете выбрать подходящий платный план.

Попробовать AppMaster
Представляем Rust 1.69: достижения в разработке программного обеспечения на системном уровне | AppMaster