Les références sont très précisément gérées en Rust. Tout l'intérêt de ce langage réside dans son borrow-checker extrêmement pointilleux.
Néanmoins, cela crée des situations intenables pour les développeurs. Il y a donc, au sein de la bibliothèque standard de Rust des petits bypass qui encapsulent une référence. Cette encapsulation fait que le borrow-checker est moins tatillon. MAIS dans ces petits bypass, il y a tout de même une gestion rigoureuse liée au borrow-checker pour garder une haute fiabilité en la gestion de la mémoire.
Sauf qu'à partir du moment où il y a ces petits bypass, des listes, il y a des petits trucs qui peuvent passer sous la ligne de flotaison du borrow-checker.
Et visiblement, ça apparaissait dans l'ancien code.
NB : borrow-checker = checkeur de référence. C'est le bout du compilateur rust qui invalide du code si des ressources se retrouvent partagées entre plusieurs variables (par exemple).
[^] # Re: Des fuites mémoires en Rust ?
Posté par lhp22 . En réponse au journal Sortie de Redox OS 0.6.0. Évalué à 1.
Les références sont très précisément gérées en Rust. Tout l'intérêt de ce langage réside dans son borrow-checker extrêmement pointilleux.
Néanmoins, cela crée des situations intenables pour les développeurs. Il y a donc, au sein de la bibliothèque standard de Rust des petits bypass qui encapsulent une référence. Cette encapsulation fait que le borrow-checker est moins tatillon. MAIS dans ces petits bypass, il y a tout de même une gestion rigoureuse liée au borrow-checker pour garder une haute fiabilité en la gestion de la mémoire.
Sauf qu'à partir du moment où il y a ces petits bypass, des listes, il y a des petits trucs qui peuvent passer sous la ligne de flotaison du borrow-checker.
Et visiblement, ça apparaissait dans l'ancien code.
NB : borrow-checker = checkeur de référence. C'est le bout du compilateur rust qui invalide du code si des ressources se retrouvent partagées entre plusieurs variables (par exemple).
Voilà \o/