Le comitĂ© qui supervise le dĂ©veloppement de l'ensemble des compilateurs GCC (GCC Steering Committee) a approuvĂ© l'intĂ©gration dans le cadre principal de GCC de l'implĂ©mentation du compilateur du langage Rust, prĂ©parĂ©e par le projet gccrs (GCC Rust). AprĂšs l'intĂ©gration du frontend, les outils standard de GCC pourront ĂȘtre utilisĂ©s pour compiler des programmes en Rust sans avoir besoin d'installer le compilateur rustc, construit Ă l'aide des travaux de LLVM.
Il a Ă©tĂ© recommandĂ© aux dĂ©veloppeurs de gccrs de commencer Ă travailler avec les Ă©quipes responsables de l'examen des modifications et de la prĂ©paration des versions de GCC, afin de procĂ©der Ă la vĂ©rification finale et d'approuver les correctifs en termes de respect des exigences techniques du code ajoutĂ© Ă GCC. Si le dĂ©veloppement de gccrs se poursuit selon le calendrier prĂ©vu et qu'aucun problĂšme imprĂ©vu n'est dĂ©tectĂ©, le frontend pour le langage Rust sera intĂ©grĂ© dans la version de GCC 13, prĂ©vue pour mai de l'annĂ©e prochaine. L'implĂ©mentation de Rust dans GCC 13 sera en statut bĂȘta, n'Ă©tant pas incluse par dĂ©faut.
Le langage Rust se concentre sur la sĂ©curitĂ© de la gestion de la mĂ©moire et fournit des moyens dâatteindre un haut degrĂ© de parallĂ©lisme dans l'exĂ©cution des tĂąches. La gestion sĂ©curisĂ©e de la mĂ©moire, Ă©vitant des erreurs telles que l'accĂšs Ă la mĂ©moire aprĂšs sa libĂ©ration, la dĂ©rĂ©fĂ©renciation de pointeurs nuls et le dĂ©passement de tampon, est rĂ©alisĂ©e dans Rust au moment de la compilation grĂące Ă la vĂ©rification des rĂ©fĂ©rences, Ă la traçabilitĂ© de la propriĂ©tĂ© des objets, Ă la prise en compte de la durĂ©e de vie des objets (portĂ©e) et Ă l'Ă©valuation de la validitĂ© de l'accĂšs Ă la mĂ©moire lors de l'exĂ©cution du code. Rust fournit Ă©galement des outils pour protĂ©ger contre les dĂ©bordements entiers, exige l'initialisation obligatoire des valeurs des variables avant leur utilisation, gĂšre mieux les erreurs dans la bibliothĂšque standard, applique le concept d'immuabilitĂ© (immutable) des rĂ©fĂ©rences et des variables par dĂ©faut, et propose une forte typage statique pour minimiser les erreurs logiques.
Source : opennet.ru
