Avatar ·

Peut-on utiliser des variables globales en Rust ?

Bonjour à tous ! Je viens de commencer à apprendre Rust, je suis passé du C++, et j'ai un problème. En C++, j'avais l'habitude d'utiliser des variables globales pour stocker la configuration de l'application ou des compteurs auxquels on doit accéder depuis différentes fonctions. Par exemple, j'ai un simple compteur d'appels de fonction : ```rust static COUNTER: i32 = 0; fn increment() { COUNTER += 1; // Erreur ! } ``` Le compilateur donne l'erreur : "cannot mutate static variable". J'ai essayé de l'envelopper avec `mut` : ```rust static mut COUNTER: i32 = 0; fn increment() { COUNTER += 1; // unsafe ! Très peu pratique. } ``` Maintenant le compilateur exige d'envelopper l'accès dans `unsafe { ... }`. Je comprends que ce n'est pas sûr, mais comment organiser correctement un état global ? J'ai besoin que la variable soit visible dans tout le programme.