Rust 1.36

L'équipe de développeurs est heureuse de vous présenter Rust 1.36 !

Quoi de neuf dans Rust 1.36 ?
Le trait Future a été stabilisé, parmi les nouveautés : le crate alloc, MaybeUninit, NLL pour Rust 2015, une nouvelle implémentation de HashMap et un nouveau flag —offline pour Cargo.


Maintenant, plus de détails :

  • Dans Rust 1.36, nous avons enfin stabilisé le trait Future.
  • Le crate alloc.
    À partir de Rust 1.36, les parties de std qui dépendent d'un allocateur global (par exemple, Vec) se trouvent dans le crate alloc. Maintenant, std réexporte ces parties. Plus à ce sujet.
  • MaybeUninit au lieu de mem::uninitialized.
    Dans les versions précédentes, mem::uninitialized vous permettait de contourner la vérification d'initialisation, cela était utilisé pour l'allocation paresseuse des tableaux, mais cette fonction est assez dangereuse (en savoir plus), donc le type MaybeUninit a été stabilisé, qui est plus sûr.
    Et puisque MaybeUninit est une alternative plus sûre, à partir de Rust 1.38, mem::uninitialized sera obsolète.
    Si vous voulez en savoir plus sur la mémoire non initialisée, vous pouvez lire l'article de blog (Alexis Beingessner).
  • NLL pour Rust 2015.
    Dans l'annonce Rust 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 main() {
    let mut x = 5;
    let y = &x;
    let z = &mut x; // Cela n'était pas permis avant 1.31.0.
    }

    Dans 1.31.0, NLL ne fonctionnait que dans Rust 2018, avec la promesse que les développeurs ajouteraient également le support pour Rust 2015.
    Si vous voulez en savoir plus sur NLL, vous pouvez lire davantage dans cet article de blog (Felix Klocks).

  • Un nouveau flag pour Cargo — —offline.
    Dans Rust 1.36, un nouveau flag pour Cargo a été stabilisé. Le flag —offline indique à Cargo d’utiliser les dépendances mises en cache localement, afin qu'elles puissent être utilisées sans connexion internet par la suite. Lorsque les dépendances nécessaires ne sont pas disponibles hors ligne, et si Internet est tout de même nécessaire, Cargo renverra une erreur. Pour pré-télécharger les dépendances, vous pouvez utiliser la commande cargo fetch, qui téléchargera toutes les dépendances.
  • Ici vous pouvez lire un aperçu plus détaillé des changements.

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

Autres changements Rust, Cargo et Clippy.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster