Avatar ·

Que signifie la construction `let x = x;` en Rust et pourquoi est-elle nécessaire ?

Bonjour à tous ! J'ai commencé à apprendre Rust et je suis tombé sur une construction étrange dans le code de quelqu'un d'autre : ```rust let x = 5; let x = x; ``` Qu'est-ce que c'est que ça ? Pourquoi réaffecter une variable à elle-même ? Est-ce de la magie ou un bug ? J'ai essayé d'exécuter ce code, et il fonctionne, mais je ne comprends pas quel est le sens. Peut-être que cela a un rapport avec la mutabilité ? Par exemple, j'ai vu ce code : ```rust let mut x = 10; let x = x; // Maintenant x est immuable ? ``` Ou est-ce juste une façon de "réinitialiser" une variable ? Expliquez-moi, s'il vous plaît, pour un débutant. J'ai déjà lu sur le shadowing, mais ici c'est une forme étrange où le nom et la valeur coïncident. Est-ce que cela a une application pratique, ou est-ce juste une écriture redondante ? Merci d'avance !