Retour aux articles

Sortie de Rust 1.76.0

Laurent Wouters

2024-02-09

fdsfdsf

Une bonne nouvelle pour les débutants

Le projet Rust vient de publier la version 1.76.0 de la chaîne d'outils avec un résumé des nouveautés marquantes. Si cette nouvelle version n'apporte pas de grosse nouveauté, c'est toujours l'occasion de stabiliser un peu plus la chaîne d'outils et le langage. On notera pour cette version un amélioration de la documentation concernant la compatibilité de l'ABI.

Mais surtout pour les plus débutants d'entre nous, la fonction type_name_of_val est enfin stabilisée et utilisable dans la chaîne stable. Une question récurrente pour les débutants en Rust est souvent, comment peut-on connaitre, facilement, le type inféré par le compilateur pour une variable. Jusqu'à maintenant il n'y avait pas vraiment de réponse satisfaisant comme type_name_of_val n'était pas stabilisée.

C'est maintenant chose faite. Quelques exemples :

let x = 5;
//  ^ i32 est inféré par défaut
println!("{}", std::any::type_name_of_val(&x));
// > i32
let closure = |x: i32| x + 1;
//  ^^^^^^^
// le type concret de la fermeture n'est connu que du compilateur
println!("{}", std::any::type_name_of_val(&closure));
// > {{closure}}

Dans un objectif d'apprentissage, ce nouvel outil permet de mieux comprendre et appréhender comment fonctionne l'inférence de types en Rust pour les plus débutants.

Retour aux articles