Que signifient les identifiants avec guillemet simple (') en Rust ?
Bonjour ! J'ai commencé à apprendre Rust récemment et je tombe constamment dans du code étranger sur des identifiants étranges qui commencent par un guillemet simple, par exemple `'a`, `'static`, `'b`. Au début, j'ai pensé que c'étaient des macros ou des variables spéciales, mais ensuite j'ai remarqué qu'ils apparaissent souvent dans les déclarations de fonctions et de structures.\n\nVoici un exemple que j'ai trouvé dans la documentation :\n\n```rust\nfn longest<'a>(x: &'a str, y: &'a str) -> &'a str {\n if x.len() > y.len() { x } else { y }\n}\n```\n\nQu'est-ce que `'a` ? Pourquoi est-il entre chevrons après le nom de la fonction ? Je comprends que cela est lié à la durée de vie (lifetime), mais je n'arrive pas à comprendre comment cela fonctionne. Dans d'autres langages, comme C++ ou Java, je n'ai pas vu cela. Expliquez-moi, s'il vous plaît, en termes simples, ce que sont ces bêtes et à quoi elles servent. Particulièrement, je suis confus par