Plus d'un an s'est écoulé depuis l'annonce des types team, un sous-composant du langage Rust et de son compilateur. Le travail effectué pour stabiliser l'utilisation du résolveur de trait de dernière génération dans le contrôle de cohérence a fait apparaître de petites régressions de comportement et des blocages ayant entrainé du retard. Mais celui-ci est en phase d'être comblé puisque la bibliothèque standard est en phase de compilation annonce l'équipe de développement de Rust. Une longue série de problèmes mineurs et de différences de comportement par rapport à l'implémentation existante est toutefois à craindre. Il existe également des questions de conception ouverte qui devront être résolues avant de stabiliser cette nouvelle implémentation. L'objectif est d'utiliser le vérificateur de trait de la prochaine génération partout par défaut. Pour mémoire, un trait décrit une fonctionnalité qui a un type particulier et qu'elle peut partager avec d'autres types, à destination du compilateur Rust.
Annoncé en janvier 2023, types team s'occupe des parties du langage et du compilateur Rust impliquant le système de type, incluant leur vérification, la résolution des traits et la vérification d'emprunts. Les objectifs sont de rendre le système de type sain, rapide, cohérent et extensible. L'équipe de développement de Rust annonce également avoir stabilisé async-fn dans les traits et return-position impl Trait dans les traits de Rust 1.75.
Des correctifs sur des problèmes plus anciens
Des améliorations ont été apportées à la façon dont les générateurs et les fonctions asynchrones sont représentés dans le type system. La conception du dernier résolveur de traits a mis en évidence des problèmes et des défis de compatibilité future de l'implémentation des alias type utilisant l'ancien résolveur de traits. Des travaux sont en cours pour retravailler le design et l'implémentation.
De nombreux problèmes de longue date ont aussi été corrigés, le plus notable étant le manque de solidité de la vérification de type des impls de traits. Ce problème subtil a conduit l'équipe à accepter des méthodes relatives à la signature des fonctions. Pendant ce temps, l'équipe catégorise les problèmes ouverts restants et les intègre dans la planification à long terme.
Commentaire