Avatar ·

Comment convertir String en &'static str en Rust : guide complet

Bonjour à tous ! Je suis débutant en Rust et j'ai rencontré un problème en travaillant avec les chaînes de caractères. Je dois passer la propriété d'un `String` à une fonction qui attend un `&'static str`. Voici un exemple de code qui ne compile pas :\n\n```rust\nfn process_static(s: &'static str) {\n println!("Static string: {}", s);\n}\n\nfn main() {\n let my_string = String::from("Hello, world!");\n // Erreur : expected &'static str, found String\n process_static(&my_string);\n}\n```\n\nLe compilateur dit : "`my_string` does not live long enough". Je comprends que `&'static str` est une chaîne qui vit pendant toute la durée d'exécution du programme, tandis que `String` est une chaîne dynamique qui peut être libérée. Mais comment puis-je passer le contenu d'un `String` à une fonction qui nécessite un `&'static str` ?\n\nJ'ai essayé d'utiliser `as_str()`, `to_s