Rust 1.69

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

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

Cargo теперь предлагает автоматически исправлять некоторые предупреждения.

Rust 1.69.0 добавил команду cargo fix, чтобы автоматически исправлять некоторые простые предупреждения компилятора. Кроме того, была добавлена поддержка автоматического исправления некоторых простых предупреждений Clippy. Чтобы привлечь больше внимания к этим возможностям, Cargo теперь будет предлагать запустить cargo fix или cargo clippy --fix при обнаружении автоматически исправляемых предупреждений:

warning: unused import: `std::hash::Hash`
 --> src/main.rs:1:5
  |
1 | use std::hash::Hash;
  |     ^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default
  
  warning: `foo` (bin "foo") generated 1 warning (run `cargo fix --bin "foo"` to apply 1 suggestion)

Обратите внимание, что полный вызов Cargo, показанный выше, необходим только если вы хотите точно применить исправления к одному крейту. Если вы хотите применить исправления ко всем крейтам из рабочего пространства по умолчанию, тогда достаточно просто использовать команду cargo fix (без дополнительных аргументов).

Отладочная информация больше не включена в сценарии сборки по умолчанию.

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

Если вы хотите отладить скрипт сборки, вы можете добавить фрагмент опций в свой Cargo.toml, чтобы снова выводить отладочную информацию:

[profile.dev.build-override]
debug = true
[profile.release.build-override]
debug = true

API переведённая в разряд стабильных:

  • CStr::from_bytes_until_nul

  • core::ffi::FromBytesUntilNulError

Данные API теперь могут быть использованы в статических контекстах. Заданная константа "const", которая определяет возможность использования данных API вместо констант в любом контексте. Этот признак "const" применен к функциям.

  • SocketAddr::new

  • SocketAddr::ip

  • SocketAddr::port

  • SocketAddr::is_ipv4

  • SocketAddr::is_ipv6

  • SocketAddrV4::new

  • SocketAddrV4::ip

  • SocketAddrV4::port

  • SocketAddrV6::new

  • SocketAddrV6::ip

  • SocketAddrV6::port

  • SocketAddrV6::flowinfo

  • SocketAddrV6::scope_id

Все остальные изменения найдёте тут: Rust, Cargo, Clippy.

Источник: https://habr.com/ru/articles/730610/


Интересные статьи

Интересные статьи

Какой язык программирования выбрать? Открываем серию статей об этом! Наши разработчики будут рассказывать об особенностях, применении, плюсах и минусах языков, которые используются в «Криптоните». Нач...
В данной статье я постараюсь подробно рассказать о том, как написать небольшую игру, используя в качестве инструментов язык программирования Rust и библиотеку macroquad.
Представляю перевод статьи автора Evan Cameron, которая может помочь Java разработчикам лучше понять отличия и схожесть этих двух языков — оригинал на сайте автора. Не считая себя достаточно опыт...
Привет! Хочу познакомить вас с проектом Rust Embedded. Он позволяет нам использовать язык программирования Rust для разработки под встроенные платформы (Embedded Linux / RTOS / Bare Metal). ...
Введение Язык программирования Rust, невзирая на всеохватывающую идеологию безопасности данных, располагает и небезопасными методиками программирования, ведь порой они могут повышать скорость ...