Rust 1.35 programavimo kalbos leidimas

įvyko sistemos programavimo kalbos leidimas Rūdys 1.35, sukurtas Mozilla projekto. Kalba skirta atminties saugai, suteikia automatinį atminties valdymą ir suteikia galimybę pasiekti aukštą užduočių lygiagretumą nenaudojant šiukšlių rinktuvo ar vykdymo laiko.

„Rust“ automatinis atminties valdymas išlaisvina kūrėją nuo manipuliavimo žymekliu ir apsaugo nuo problemų, kylančių dėl žemo lygio atminties manipuliavimo, pvz., laisvos atminties prieigos, nulinių rodyklės nuorodų, buferio viršijimo ir panašiai. Kuriama paketų tvarkyklė, skirta platinti bibliotekas, užtikrinti surinkimą ir valdyti projekto priklausomybes. krovinys, leidžiančiu vienu paspaudimu gauti programai reikalingas bibliotekas. Saugykla palaikoma prieglobos bibliotekoms dėžės.io.

pagrindinis naujoves:

  • Типажи (trait) FnOnce, FnMut и Fn реализованы для размещаемых в куче boxed-типов Box‹dyn FnOnce›, Box‹dyn FnMut› и Box‹dyn Fn›;
  • Pridėta galimybė приведения замыканий к небезопасным указателям на функции (unsafe fn);
  • Реализована возможность вызова макроса «dbg!» без аргументов для отображения в stderr имени файла и номера строки без инспектирования переменной, что удобно для отладки срабатывания условных выражений;
  • В типы для чисел с плавающей запятой f32 и f64 добавлен метод «copysign» для копирования знака из одного числа в другое;
  • В типы Range* добавлен метод «yra«, позволяющий проверить попадание указанного значения в диапазон;
  • Добавлен метод Ref:Cell:map_split, позволяющие отразить и разделить заимствованное значение RefCell для разных компонентов заимствованных данных;
  • Добавлен метод RefCell::replace_with для замены текущего значения RefCell и возвращения старого значения в качестве результата;
  • Добавлен метод ptr::hash для хэширования указателя или ссылки по адресу, а не адресуемому значению;
  • Добавлен метод Option::copied для копирования содержимого опций Option‹&T› или Option‹&mut T›;
  • Nauja API dalis buvo perkelta į stabilią kategoriją, įskaitant metodus, kurie buvo stabilizuoti
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::hash,
    Range::contains,
    RangeFrom::contains,
    RangeTo::contains,
    RangeInclusive::contains,
    RangeToInclusive::contains и
    Option::copied;

  • В clippy (linter) добавлена проверка drop_bounds, срабатывающая при добавлении привязки «T: Drop» в функцию;
  • В компилятор добавлена поддержка новой целевой платформы
    wasm32-unknown-wasi (интерфейс WASI naudoti WebAssembly už naršyklės ribų);

  • Инструментарий Rust адаптирован для дистрибутивов на основе стандартной Си-библиотеки Musl.

Šaltinis: opennet.ru

Добавить комментарий