Version du langage de programmation Rust 1.35

A eu lieu version du langage de programmation système Rouille 1.35, développé par le projet Mozilla. Le langage se concentre sur la sécurité de la mémoire, fournit une gestion automatique de la mémoire et fournit un moyen d'atteindre un parallélisme élevé des tâches sans utiliser de garbage collector ou d'exécution.

La gestion automatique de la mémoire de Rust libère le développeur de la manipulation du pointeur et le protège contre les problèmes résultant de la manipulation de la mémoire de bas niveau, tels que les accès mémoire après libération, les déréférences de pointeur nul, les dépassements de tampon, etc. Un gestionnaire de packages est en cours de développement pour distribuer les bibliothèques, assurer l'assemblage et gérer les dépendances par le projet. Cargaison, vous permettant d'obtenir les bibliothèques nécessaires au programme en un clic. Un référentiel est pris en charge pour héberger des bibliothèques caisses.io.

principal les innovations:

  • Caractéristiques FnUne fois, FnMut и Fn implémenté pour le tas alloué types en boîte Box‹dyn FnOnce›, Box‹dyn FnMut› et Box‹dyn Fn› ;
  • Ajouté par occasion lancer des fermetures vers des pointeurs de fonctions non sécurisés (fn non sécurisé) ;
  • Implémentation de la possibilité d'appeler la macro « dbg ! » sans arguments pour afficher le nom du fichier et le numéro de ligne dans stderr sans inspecter la variable, ce qui est pratique pour déboguer le fonctionnement des expressions conditionnelles ;
  • Ajout de la méthode " aux types à virgule flottante f32 et f64signe de copie» pour copier un caractère d'un numéro à un autre ;
  • Méthode ajoutée "contient", qui vous permet de vérifier si la valeur spécifiée est dans la plage ;
  • Méthode ajoutée Réf : Cellule : map_split, vous permettant de refléter et de séparer la valeur RefCell empruntée pour différents composants des données empruntées ;
  • Méthode ajoutée RefCell :: remplacer_avec pour remplacer la valeur RefCell actuelle et renvoyer l'ancienne valeur comme résultat ;
  • Méthode ajoutée ptr :: hachage hacher un pointeur ou une référence par une adresse plutôt que par la valeur adressée ;
  • Méthode ajoutée Option ::copié pour copier le contenu des options Option‹&T› ou Option‹&mut T› ;
  • Une nouvelle partie des API a été transférée dans la catégorie stable, y compris les méthodes stabilisées
    f32 :: copysign,
    f64 :: copysign,
    RefCell::replace_with,
    RefCell :: map_split,
    ptr::hachage,
    Gamme : contient,
    RangeFrom :: contient,
    RangeTo :: contient,
    RangeInclusive :: contient,
    RangeToInclusive :: contient et
    Option ::copié ;

  • Ajout de la vérification drop_bounds à clippy (linter), qui est déclenchée lors de l'ajout d'une liaison « T: Drop » à la fonction ;
  • Le compilateur a ajouté la prise en charge d'une nouvelle plate-forme cible
    wasm32-inconnu-wasi (interface ÉTAIS-JE pour utiliser WebAssembly en dehors du navigateur) ;

  • La boîte à outils Rust est adaptée aux distributions basées sur la bibliothèque C standard Musl.

Source: opennet.ru

Ajouter un commentaire