Linguaxe de programación Rust versión 1.35

tivo lugar versión da linguaxe de programación do sistema Ferruxe 1.35, desenvolvido polo proxecto Mozilla. A linguaxe céntrase na seguridade da memoria, ofrece xestión automática da memoria e proporciona un medio para lograr un alto paralelismo de tarefas sen utilizar un colector de lixo ou tempo de execución.

A xestión automática da memoria de Rust libera ao programador da manipulación do punteiro e protexe contra os problemas derivados da manipulación de memoria de baixo nivel, como accesos á memoria despois libres, desreferencias de punteiros nulos, desbordamentos do búfer e similares. Estase a desenvolver un xestor de paquetes para distribuír bibliotecas, garantir a montaxe e xestionar as dependencias do proxecto. Carga, o que lle permite obter as bibliotecas necesarias para o programa cun só clic. Admítese un repositorio para aloxar bibliotecas caixóns.io.

O principal innovacións:

  • Типажи (trait) FnOnce, FnMut и Fn реализованы для размещаемых в куче boxed-типов Box‹dyn FnOnce›, Box‹dyn FnMut› и Box‹dyn Fn›;
  • Engadido oportunidade приведения замыканий к небезопасным указателям на функции (unsafe fn);
  • Реализована возможность вызова макроса «dbg!» без аргументов для отображения в stderr имени файла и номера строки без инспектирования переменной, что удобно для отладки срабатывания условных выражений;
  • В типы для чисел с плавающей запятой f32 и f64 добавлен метод «copysign» для копирования знака из одного числа в другое;
  • В типы Range* добавлен метод «contén«, позволяющий проверить попадание указанного значения в диапазон;
  • Método engadido Ref:Cell:map_split, позволяющие отразить и разделить заимствованное значение RefCell для разных компонентов заимствованных данных;
  • Método engadido RefCell::replace_with для замены текущего значения RefCell и возвращения старого значения в качестве результата;
  • Método engadido ptr::hash для хэширования указателя или ссылки по адресу, а не адресуемому значению;
  • Método engadido Option::copied для копирования содержимого опций Option‹&T› или Option‹&mut T›;
  • Unha nova parte das API foi transferida á categoría estable, incluídos os métodos que se estabilizaron
    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 para usar WebAssembly fóra do navegador);

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

Fonte: opennet.ru

Engadir un comentario