Rust passe en version 1.50.0 et poursuit sa route vers des const stables
2 min
Logiciel
Logiciel
Le langage a reçu il y a quelques jours une mouture 1.50.0 qui continue tranquillement sa progression vers des génériques const stables.
Parmi les nouveautés, on retrouve ainsi des améliorations pour l’indexation des tableaux const génériques, avec l’implémentation de ops::Index et IndexMut pour les tableaux [T; N], quelle que soit la longueur de const N.
Cette mouture 1.50.0 reconnait officiellement la répétition des valeurs const dans les tableaux, qui peuvent pour rappel être écrits sous forme de listes [a, b, c] ou de répétition [x; N].
Pendant longtemps, x a été limité à Copy, en dépit d’une RFC (2203) qui cherchait à autoriser n’importe quelle expression const. Rust 1.38 avait autorisé « accidentellement » l’utilisation stable de valeurs const dans les répétitions, alors même que la fonction était instable pour les expressions arbitraires. Avec Rust 1.50, la stabilisation est officielle.
Plusieurs expressions ont également été rendues const, comme IpAddr::is_ipv4, IpAddr::is_ipv6, Layout::size, Layout::align ou encore Layout::from_size_align.
Parmi les autres améliorations, on note les affectations sécurisées aux champs d’union ManuallyDrop<T>, ainsi qu’une niche pour File sur Unix. On trouve en outre neuf nouvelles fonctions : bool::then, btree_map::Entry::or_insert_with_key, f32::clamp, f64::clamp, hash_map::Entry::or_insert_with_key, Ord::clamp, RefCell::take, slice::fill et UnsafeCell::get_mut.
Commentaires (0)
Abonnez-vous pour prendre part au débat
Déjà abonné ou lecteur ? Se connecter
Cet article est en accès libre, mais il est le produit d'une rédaction qui ne travaille que pour ses lecteurs, sur un média sans pub et sans tracker. Soutenez le journalisme tech de qualité en vous abonnant.
Accédez en illimité aux articles d'un média expert
Profitez d'au moins 1 To de stockage pour vos sauvegardes
Intégrez la communauté et prenez part aux débats
Partagez des articles premium à vos contacts
Abonnez-vousSignaler un commentaire
Voulez-vous vraiment signaler ce commentaire ?