Rust 1.64

Par:
fredericmazue

lun, 26/09/2022 - 15:45

L'équipe de Rust vient d'annoncer la disponibilité de Rust 1.64. Cette mouture apporte des nouveautés intéressantes, dont tout d'abord l'amélioration de .await avec le trait IntoFuture.

Pour mémoire, en Rust, un trait définit une fonctionnalité qu'un type particulier possède et qu'il peut partager avec d'autres types. Rust 1.64 stabilise le trait IntoFuture. IntoFuture est un trait semblable à IntoIterator, mais plutôt que prendre en charge les boucles for...in... le trait IntoFure modifie le fonctionnement de .await. Avec IntoFuture .await peut attendre plus que des contrats à terme, il peut attendre tout ce qui peut être converti en Future via IntoFuture.

En ce qui concerne l'interface avec du code C, Rust 1.64 fournit désormais tous les alias de type c_* dans core::ffi. Lorsqu'il appelle ou est appelé par des ABI C, le code Rust peut utiliser des alias de type comme c_uint ou c_ulong pour faire correspondre les types correspondants de C sur n'importe quelle cible, sans nécessiter de code ou de conditions spécifiques à la cible. Auparavant, ces alias de type n'étaient disponibles que dans std, donc du code écrit pour des cibles incorporées et d'autres scénarios qui ne pouvaient utiliser core ou alloc ne pouvait pas utiliser ces types.

Enfin on notera que rust-analyzer fait maintenant partie de la collection d'outils inclus avec Rust. Cela facilite le téléchargement et l'accès à l'analyseur de Rust, et le rend disponible sur plus de plates-formes. Il est disponible en tant que composant rustup qui peut être installé avec :

rustup component add rust-analyzer