Rust — це мультипарадигмальна універсальна компільована мова програмування.
Нова версія Rust 1.78 вже вийшла і реалізовано нові функції, а також стабілізація деяких API, покращення в Cargo тощо.
Для тих, хто не знає цієї мови програмування, вони повинні це знати фокусується на безпеці пам'яті та забезпечує засоби для досягнення високого паралелізму завдань, уникаючи використання збирача сміття та середовища виконання (час виконання зводиться до базової ініціалізації та стандартного обслуговування бібліотеки).
Основні нові функції Rust 1.78
У цій новій версії представлено У Rust 1.78 збільшено мінімальні вимоги для Windows 10, Крім того компілятор було змінено на використання LLVM 18. Під час використання LLVM 18 для архітектур x86-32 і x86-64 ABI, пов’язаний з типами u128 і i128, було змінено.
Що стосується змін, то однією з характеристик, яка виділяється, є Rust тепер підтримує простір імен атрибутів «#[діагноз]", що надає засоби впливу на створені повідомлення про помилки компілятором. Вони розглядаються як підказки, які компілятор не повинен використовувати, а також не є помилкою надання діагностики, яку компілятор не розпізнає. Це дозволяє вихідному коду надавати діагностику, навіть якщо вони не підтримуються всіма компіляторами, будь то різні версії чи абсолютно різні реалізації.
Крім того, глобальний кеш у Cargo стабілізовано який зберігає інформацію про останнє використання даних. Цей кеш знаходиться в $CARGO_HOME/.global-cache і використовує SQLite для його реалізації. Він автоматично оновлюється, щоб відобразити останні зміни в індексі, ящику, каталозі коду, git clone та git checkout, підвищуючи ефективність і швидкість операцій керування залежностями в проектах розробки.
Ще однією новою функцією Rust 1.78 є стандартна бібліотека Rust Різні твердження для передумов небезпечних функцій який тепер можна відкласти до створення коду. Це дозволяє проводити ці перевірки історично вони були включені лише в збірках «#[cfg(debug_assertions)]» щоб уникнути впливу на продуктивність випускної версії. Завдяки цій зміні користувачі тепер можуть виявляти невизначену поведінку у своєму коді, хоча відомості про те, скільки перевіряється, загалом не є стабільними. Щоб увімкнути перевірки, тепер достатньо ввімкнути твердження налагодження для тестових або налагоджувальних збірок коду.
Крім того, зараз поведінка стандартних бібліотечних функцій які впливають на вирівнювання покажчиків і секторів тепер він передбачуваний під час виконання та залежить від вхідних даних. Функція pointer::align_offset, який обчислює зсув для вирівнювання покажчика, тепер повертається використання::МАКС тільки якщо операція не вдається. Функції slice::align_to і slice::align_to_mut, які перетворюють фрагменти на представлення з вирівняним середнім фрагментом і оригінальними початковим і кінцевим фрагментами, тепер завжди повертають найбільшу середню частину.
З іншого боку, зазначається, що Наступні API перенесено до категорії «стабільний».: impl Читати для &Stdin, impl From для io::Error і впровадження імпл що дозволяє використовувати ?Розмір.
З Інші зміни, які виділяються цієї нової версії:
- Реалізовано другий рівень підтримки цільової платформи Add wasm32-wasip1. Другий рівень підтримки передбачає гарантію на збірку.
- Платформу wasm32-wasi-preview1-threads було перейменовано на wasm32-wasip1-threads.
- У менеджері пакетів Cargo стабілізовано версію 4 файлів блокування (lockfile v4). Cargo тепер використовує цю версію як стандарт для забезпечення узгодженості та ефективного керування залежностями між проектами.
Якщо ви є зацікавлений дізнатися більше про це, Ви можете перевірити деталі в за наступним посиланням.
Нарешті, для тих, хто є Зацікавлений оновленням попередньої версії Rust встановлено через rustup, ви можете отримати нову версію Rust 1.78 за допомогою:
rustup update stable
Якщо у вашій системі ще не встановлено Rust, ви можете зробити це, виконавши таку команду в терміналі:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh