Издаване на език за програмиране Rust 1.35

се състоя версия на системния език за програмиране Ръжда 1.35, разработен от проекта Mozilla. Езикът се фокусира върху безопасността на паметта, осигурява автоматично управление на паметта и осигурява средства за постигане на висок паралелизъм на задачите, без да се използва събирач на отпадъци или среда за изпълнение.

Автоматичното управление на паметта на Rust освобождава разработчика от манипулиране на указателя и предпазва от проблеми, произтичащи от манипулиране на паметта на ниско ниво, като достъп до памет след освобождаване, дерефериране на нулев указател, препълване на буфер и други подобни. Разработва се мениджър на пакети за разпространение на библиотеки, осигуряване на сглобяване и управление на зависимости от проекта. Товарен, което ви позволява да получите необходимите за програмата библиотеки с едно кликване. Поддържа се хранилище за хостване на библиотеки crates.io.

Основната иновации:

  • Черти FnOnce, FnMut и Fn имплементиран за heap-allocated опаковани видове Box‹dyn FnOnce›, Box‹dyn FnMut› и Box‹dyn Fn›;
  • Добавено от възможност привеждане на затваряния към опасни функционални указатели (unsafe fn);
  • Въведена е възможност за извикване на макроса „dbg!“ без аргументи за показване на името на файла и номера на реда в stderr без проверка на променливата, което е удобно за отстраняване на грешки в работата на условни изрази;
  • Добавен метод " към типове с плаваща запетая f32 и f64copysign» копиране на символ от едно число в друго;
  • Добавен метод "съдържа“, което ви позволява да проверите дали зададената стойност е в диапазона;
  • Добавен метод Ref: Клетка: map_split, което ви позволява да отразявате и отделяте заетата RefCell стойност за различни компоненти на заетите данни;
  • Добавен метод RefCell::replace_with за замяна на текущата RefCell стойност и връщане на старата стойност като резултат;
  • Добавен метод ptr::хеш за хеширане на указател или препратка по адрес, а не по адресираната стойност;
  • Добавен метод Опция::копирано за копиране на съдържанието на опциите Option‹&T› или Option‹&mut T›;
  • Нова част от API е прехвърлена в стабилната категория, включително методи, които са стабилизирани
    f32::copysign,
    f64::copysign,
    RefCell::replace_with,
    RefCell::map_split,
    ptr::хеш,
    Диапазон::съдържа,
    RangeFrom::съдържа,
    RangeTo::съдържа,
    RangeInclusive::съдържа,
    RangeToInclusive::съдържа и
    Опция::копиран;

  • Добавена проверка drop_bounds към clippy (linter), която се задейства при добавяне на свързване „T: Drop“ към функцията;
  • Компилаторът добави поддръжка за нова целева платформа
    wasm32-unknown-wasi (интерфейс БЯХ ЛИ да използвате WebAssembly извън браузъра);

  • Инструментариумът Rust е адаптиран за дистрибуции, базирани на стандартната C библиотека Musl.

Източник: opennet.ru

Добавяне на нов коментар