Développement : Rust 1.12 revoit complètement ses messages d'erreurs

Développement : Rust 1.12 revoit complètement ses messages d’erreurs

Des informations décapées

Avatar de l'auteur
Vincent Hermann

Publié dans

Logiciel

30/09/2016 2 minutes
13

Développement : Rust 1.12 revoit complètement ses messages d'erreurs

Rust, le langage de Mozilla, vient de passer en version 1.12. Il s’agit selon l’éditeur de l’une des plus importantes depuis la première. De nombreuses améliorations sont au programme, particulièrement sur la fiabilité et la gestion des erreurs.

Mozilla indique dans son billet d’annonce que le principal changement est sans aucun doute le format des messages d’erreurs émis par le compilateur Rustic (rustc). Les nouveaux messages se veulent évidemment beaucoup plus précis, en ciblant plus efficacement la source du problème et en indiquant au développeur ce qui cloche. L’idée est bien sûr d’accélérer la phase de débogage.

Code MIR ou arbre syntaxique

Signalons également la génération de code MIR (pour mid-level IR), qui permet de représenter le code d’une manière plus simple que l’arbre syntaxique classique (AST). On peut parler de langage intermédiaire (sans qu’il s’agisse réellement d’un bytecode), sur lequel il sera alors possible d’appliquer plus facilement les optimisations de LLVM (Low Level Virtual Machine). Les résultats attendus sont une charge moindre de travail pour rustc et un temps de démarrage du programme raccourci.

Parmi les autres améliorations, on trouvera de multiples ajouts dans la documentation, le support des cibles MUSL pour ARM, la possibilité d’ajouter un argument « --test-threads » pour définir le nombre de processus utilisés par les tests, l’arrivée d’une alarme pour signaler les tests durant plus de 60 secondes ou encore une stabilisation d’un certain nombre de bibliothèques. Côté Cargo, notons l’arrivée des workspaces, qui permettent à un groupe de paquets Rust de partager le même fichier Cargo.lock.

rust

Disponible pour les trois plateformes principales

Ceux qui souhaitent en savoir davantage sur les nouveautés pourront consulter les notes de version de Rust 1.12. Rappelons que Rust est un langage créé par Mozilla pour répondre à des besoins de performances (proches du C et du C++), mais en incorporant des avantages traditionnellement liés à des langages de haut niveau, comme C# et Java. Rust est d’ailleurs maintenant utilisé par l’éditeur pour certaines parties de Firefox.

Écrit par Vincent Hermann

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Code MIR ou arbre syntaxique

Disponible pour les trois plateformes principales

Fermer

Commentaires (13)


Très bonne évolution du langage <img data-src=" /> Le format des messages est inspiré de celui de Elm, le top du top.



Ce qui est bien en programmant en Rust c’est qu’on améliore ses méthodes de dev, même quand on revient sur des langages plus classique comme Python. Contrairement à Go, à mon avis, avec lequel il est très facile de débuter mais on n’apprend pas grand chose de nouveau.


En voyant le titre j’ai cru qu’on allais parler du jeu :P


Pareil. D’ailleurs testé et désinstallé dans la foulée. Je veux bien qu’il soit en béta, mais quelle laideur…



Bref, retour au sujet :)


Y a plus qu’à espérer que la rouille s’installe et que le cerveau se développe au plus vite.


Mais on ne sait toujours pas quel gros projet utilise Rust (à part la MoFo) ?


Il y a quand même pas mal de sociétés qui utilisent Rust :&nbsp;https://www.rust-lang.org/fr-FR/friends.html



Après il ne va pas y avoir immédiatement des gros projet pour un langage qui a pas encore un an et demi d’ancienneté.


L’infra de dropbox utilise Rust. Initialement, ils étaient parti sur Go, mais en sont revenus pour des raisons de consommation mémoire si mes souvenirs sont bons.


Il y a tout de même Redox OS :https://github.com/redox-os/redox


Avec Go on apprend surtout à être efficace dans la programmation concurrente. Et de ce côté là il n’y a pas beaucoup de langages efficaces (à part erlang/elixir)…


rhhoo p’tain c te nouveauté, c te bond technologique. Ils ont change les messages d’erreurs dis donc !

Vraiment n’importe quoi pour faire causer de…


Fallait pas arrêter de lire la news au niveau du titre…


La même :p.








ElJulio a écrit :



Avec Go on apprend surtout à être efficace dans la programmation concurrente. Et de ce côté là il n’y a pas beaucoup de langages efficaces (à part erlang/elixir)…





Rust est justement pas mal sur ce point là en interdisant les “data race” à la compilation.

&nbsp;





gvaudan a écrit :



rhhoo p’tain c te nouveauté, c te bond technologique. Ils ont change les messages d’erreurs dis donc !

Vraiment n’importe quoi pour faire causer de…





En même temps personne n’a dit que c’était une version exceptionnelle.&nbsp; Rust a le même modèle de publication que Firefox ou Chrome. Quand on sort une version toutes les 6 semaines, on ne peux pas faire la révolution a tous les coups.

&nbsp;Mais si on regarde sur une plus longue période, la somme des évolutions est vraiment appréciable.





lainen a écrit :



L’infra de dropbox utilise Rust. Initialement, ils étaient parti sur Go, mais en sont revenus pour des raisons de consommation mémoire si mes souvenirs sont bons.





Oui et non, ils utilisent encore majoritairement Go, mais ils sont passé en Rust, pour les parties de l’infrastructure critiques où les performances de Go n’étaient pas suffisantes, notamment au niveau de la consommation mémoire, en effet.