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 !