L'équipe de développement est ravie de présenter Rust 1.36 !
Quoi de neuf dans Rust 1.36 ?
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 :
- La macro dbg!() peut désormais prendre plusieurs arguments.
- Plusieurs API sont désormais marquées const :
- Nouvelles API stabilisées :
- D'autres modifications apportées à la bibliothèque standard peuvent être trouvées ici ici.
D'autres changements Calme, Cargaison и Clippy.
Source: linux.org.ru