ProIT: медіа для профі в IT
2 хв

Що нового в Rust 1.74?

author avatar ProIT NEWS

Унікальний підхід мови програмування Rust забезпечує кращий код із меншою кількістю компромісів, ніж має C, C++, Go та інші мови, якими ви, можливо, користуєтеся. Він також регулярно оновлюється, часто щомісяця. Що нового в оприлюдненій 16 листопада версії Rust 1.74.0, розбирався InfoWorld.

Якщо у вас уже встановлена ​​попередня версія Rust через rustup, то можна отримати доступ до останньої версії за допомогою такої команди:

$ rustup update stable

Нові функції в Rust 1.74.0

Rust 1.74.0 містить менеджер пакунків Cargo з кількома функціями. Rust 1.74.0 пропонує налаштування lint через Cargo. Маніфест Cargo.toml тепер підтримує таблицю [lints] для налаштування рівня звітності (заборонити, скасувати, попередити, дозволити). Завдяки цій можливості немає необхідності встановлювати RUSTFLAGS( -F, -D, -W, -A), що вплине на всю збірку, або використовувати атрибути рівня створення, такі як:

#![forbid(unsafe_code)]#![deny(clippy::enum_glob_use)]

Тепер розробники можуть записати ці атрибути в маніфест пакета для обробки Cargo:

[lints.rust]unsafe_code = "forbid" [lints.clippy]enum_glob_use = "deny"

Їх також можна налаштувати в таблиці [workspace.lints], а потім подовжити [lints] workspace = true, як і інші налаштування робочої області. Cargo відстежує зміни цих налаштувань, вирішуючи, які ящики відновити.

Інші можливості, пов’язані з Cargo, надані в Rust 1.74.0, включають постачальників облікових даних і автентифіковані приватні реєстри.

Постачальники облікових даних дають змогу налаштувати спосіб отримання облікових даних Cargo для реєстру. Вбудовані постачальники включені для безпечного секретного сховища, пов’язаного з ОС, у Linux, Windows і macOS.

Спеціальні постачальники можуть бути розроблені для підтримки довільних методів зберігання або генерації маркерів.

Тепер реєстри можуть вимагати автентифікацію для всіх операцій, а не лише для публікації. Це дозволяє приватним реєстрам Cargo забезпечувати більш безпечне розміщення ящиків. Для використання приватних реєстрів потрібна конфігурація постачальника облікових даних.

Rust 1.74.0 виправляє ситуацію з помилками a return type cannot contain a projection or Self that references lifetimes from a parent scope. Тепер компілятор дає змогу згадувати Selfта пов’язувати типи у непрозорих типах повернення, таких як async fn та -> impl Trait.

Rust 1.74.0 стабілізує низку API, таких як core::num::Saturating, std::io::Error::other та impl_TryFrom<char> for u16.

Крім того, випуск підвищує мінімальні вимоги для платформ Apple до macOS 10.12 Sierra, iOS 10 і tvOS 10.

Раніше ми повідомляли, що Microsoft опублікувала на Github код, який дає змогу розробникам кодувати драйвери Windows у Rust.

Підписуйтеся на ProIT у Telegram, щоб не пропустити жодну публікацію!

Приєднатися до company logo
Продовжуючи, ти погоджуєшся з умовами Публічної оферти та Політикою конфіденційності.