Lanzamiento del lenguaje de programación Rust 1.35

tuvo lugar lanzamiento del lenguaje de programación del sistema Moho 1.35, desarrollado por el proyecto Mozilla. El lenguaje se centra en la seguridad de la memoria, proporciona administración automática de la memoria y proporciona un medio para lograr un alto paralelismo de tareas sin utilizar un recolector de basura o tiempo de ejecución.

La gestión automática de la memoria de Rust libera al desarrollador de la manipulación del puntero y protege contra problemas que surgen de la manipulación de la memoria de bajo nivel, como accesos posteriores a la memoria, desreferencias de punteros nulos, desbordamientos del búfer y similares. Se está desarrollando un administrador de paquetes para distribuir bibliotecas, garantizar el ensamblaje y gestionar las dependencias del proyecto. , permitiéndole obtener las bibliotecas necesarias para el programa con un solo clic. Se admite un repositorio para alojar bibliotecas. cajas.io.

El principal innovaciones:

  • Rasgos FnUna vez, FnMut и Fn implementado para montón asignado tipos en caja Caja`dyn FnOnce`, Caja`dyn FnMut` y Caja`dyn Fn`;
  • Añadido por oportunidad lanzar cierres a punteros de funciones inseguras (fn inseguro);
  • Implementada la capacidad de llamar a la macro "dbg!" sin argumentos para mostrar el nombre del archivo y el número de línea en stderr sin inspeccionar la variable, lo cual es conveniente para depurar el funcionamiento de expresiones condicionales;
  • Se agregó el método "a los tipos de punto flotante f32 y f64copia firmante» copiar un carácter de un número a otro;
  • Método agregado "contiene“, que le permite verificar si el valor especificado está dentro del rango;
  • Método agregado Ref:Celda:map_split, lo que le permite reflejar y separar el valor de RefCell prestado para diferentes componentes de los datos prestados;
  • Método agregado Celda de referencia::reemplazar_con para reemplazar el valor actual de RefCell y devolver el valor anterior como resultado;
  • Método agregado ptr::hash codificar un puntero o referencia mediante una dirección en lugar del valor direccionado;
  • Método agregado Opción::copiado para copiar el contenido de las opciones Option`&T› u Option`&mut T›;
  • Una nueva parte de las API se ha transferido a la categoría estable, incluidos los métodos que se han estabilizado.
    f32::firma de copia,
    f64::firma de copia,
    RefCell::reemplazar_con,
    RefCell::map_split,
    ptr::hash,
    Rango::contiene,
    RangoDe::contiene,
    RangeTo::contiene,
    RangeInclusive::contiene,
    RangeToInclusive::contiene y
    Opción::copiado;

  • Se agregó la verificación drop_bounds a clippy (linter), que se activa al agregar un enlace "T: Drop" a la función;
  • El compilador ha agregado soporte para una nueva plataforma de destino.
    wasm32-desconocido-wasi (interfaz WASI utilizar WebAssembly fuera del navegador);

  • El kit de herramientas Rust está adaptado para distribuciones basadas en la biblioteca C estándar Musl.

Fuente: opennet.ru

Añadir un comentario