Rouille 1.36

L'équipe de développement est ravie de présenter Rust 1.36 !

Quoi de neuf dans Rust 1.36 ?
Trait futur stabilisé, à partir du nouveau : alloc crate, MaybeUninit , NLL pour Rust 2015, une nouvelle implémentation de HashMap et un nouveau drapeau hors ligne pour Cargo.


Et maintenant plus:

  • Enfin dans Rust 1.36 stabilisé trait Futur.
  • Allocation de caisse.
    Depuis Rust 1.36, les parties du std qui dépendent de l'allocateur global (comme Vec ), sont dans la caisse d'allocation. Maintenant, std va réexporter ces pièces. En savoir plus.
  • Peut-êtreUnité au lieu de mem :: non initialisé.
    Dans les versions précédentes, mem::uninitialized vous permettait de contourner la vérification d'initialisation, il était utilisé pour une allocation de tableau paresseuse, mais cette fonction est assez dangereuse (plus), donc le type MaybeUninit a été stabilisé , ce qui est plus sûr.
    Eh bien, depuis MaybeUninit est une alternative plus sûre, puis à partir de Rust 1.38, mem::uninitialized sera une fonctionnalité obsolète.
    Si vous souhaitez en savoir plus sur la mémoire non initialisée, vous pouvez lire cet article de blog d'Alexis Beingessner.
  • NLL pour Rust 2015.
    Dans l'annonce Rouille 1.31.0 Les développeurs nous ont parlé de NLL (Non-Lexical Lifetime), une amélioration du langage qui rend le vérificateur d'emprunt plus intelligent et plus convivial. Exemple:
    fn principal() {
    soit mut x = 5 ;
    soit y = &x;
    soit z = &mut x; // Cela n'était pas autorisé avant la version 1.31.0.
    }

    Dans la version 1.31.0, NLL ne fonctionnait que dans Rust 2018, avec la promesse que les développeurs ajouteraient la prise en charge dans Rust 2015.
    Si vous souhaitez en savoir plus sur NLL, vous pouvez en savoir plus ici Entrées de blog (Félix Klocks).

  • Le nouveau drapeau pour Cargo est —ofline.
    Rust 1.36 a stabilisé un nouveau drapeau pour Cargo. L'indicateur --offline indique à Cargo d'utiliser les dépendances mises en cache localement afin qu'elles puissent être utilisées hors ligne ultérieurement. Lorsque les dépendances nécessaires ne sont pas disponibles hors ligne et si Internet est toujours nécessaire, Cargo renverra une erreur. Afin de pré-télécharger les dépendances, vous pouvez utiliser la commande cargo fetch, qui téléchargera toutes les dépendances.
  • il est vous pouvez lire un aperçu plus détaillé des changements.

Il y a également des changements dans la bibliothèque standard :

D'autres changements Calme, Cargaison и Clippy.

Source: linux.org.ru

Ajouter un commentaire