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)]» за да избегнете повлияване на производителността във версията за освобождаване. С тази промяна потребителите вече могат да откриват недефинирано поведение в своя код, въпреки че подробностите за това колко се проверява като цяло не са стабилни. За да активирате проверките, вече е достатъчно да активирате твърдения за отстраняване на грешки за тестови или отстраняване на грешки компилации на кода.
В допълнение към това, сега поведение на стандартните библиотечни функции които засягат подравняването на указатели и сектори вече е предвидимо по време на изпълнение и зависи от входните данни. Функцията указател::align_offset, който изчислява отместването за подравняване на показалеца, сега се връща използване::МАКС само ако операцията е неуспешна. Функциите slice::align_to и slice::align_to_mut, които трансформират срезове в представяне с подравнен среден срез и оригиналните начални и крайни срезове, сега винаги връщат най-голямата средна част.
От друга страна се споменава, че Следните API бяха преместени в категорията „стабилни“.: impl Четене за &Stdin, impl От за io::Грешка и изпълнението импл което позволява използването на ?Размер.
От Други промени, които се открояват на тази нова версия:
- Внедрено е второто ниво на поддръжка за целевата платформа 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