Екипът на разработчиците с радост ви представя Rust 1.36!

Какво ново в Rust 1.36?
Стабилизиран е трейта Future, новото: крейт alloc, MaybeUninit, NLL за Rust 2015, нова реализация HashMap и нов флаг —offline за Cargo.


А сега по-подробно:

  • В Rust 1.36 накрая стабилизирахме трейта Future.
  • Крейт alloc.
    Започвайки от Rust 1.36, части от std, които зависят от глобалния алокатор (например, Vec), се намират в крейта alloc. Сега std реекспортира тези части. Повече за това.
  • MaybeUninit вместо mem::uninitialized.
    В предишни версии mem::uninitialized ви позволяваше да заобикаляте проверката за инициализация, използваше се за ленивата алокация на масиви, но тази функция е доста опасна (по-подробно), затова типът MaybeUninit беше стабилизиран, който е по-безопасен.
    И така, тъй като MaybeUninit е по-безопасна алтернатива, от Rust 1.38 mem::uninitialized ще бъде остаряла функция.
    Ако искате да научите повече за неинициализирана памет, можете да прочетете записа в блога (Alexis Beingessner).
  • NLL за Rust 2015.
    В анонса Rust 1.31.0 разработчиците говориха за NLL (Non-Lexical Lifetime), подобрение за езика, което прави проверката за заемане по-умна и по-дружелюбна към потребителя. Пример:
    fn main() {
    let mut x = 5;
    let y = &x;
    let z = &mut x; // Това не беше позволено преди 1.31.0.
    }

    В 1.31.0 NLL работеше само в Rust 2018, с обещание, че разработчиците ще добавят поддръжка и в Rust 2015.
    Ако искате да научите повече за NLL, можете да прочетете повече в този запис в блога (Felix Klocks).

  • Нов флаг за Cargo — —offline.
    В Rust 1.36 стабилизирахме нов флаг за Cargo. Флагът —offline казва на Cargo да използва локално кеширани зависимости, за да може по-късно да се използват без интернет. Когато нужните зависимости не са налични офлайн и ако интернет все пак е необходим, Cargo ще върне грешка. За да изтеглите предварително зависимостите, можете да използвате командата cargo fetch, която ще изтегли всички зависимости.
  • Тук можете да прочетете по-подробен обзор на промените.

Има и промени в стандартната библиотека:

Други промени Rust, Cargo и Clippy.

Източник: linux.org.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster