variable shadowing in Rust

Rust allows programmers to declare variables with the same name. In such a case, the new variable overrides the previous variable.
```
fn main() {
    let x = 5;
    let x = x + 1;
    {
        let x = x * 2;
        println!("The value of x in the inner scope is: {}", x);
    }

    println!("The value of x is: {}", x);
}
/* Output
The value of x in the inner scope is: 12
The value of x is: 6
*/
```