title: Variable shadowing in the same scope in Rust?
body: <pre><code>fn main() {
      let x = 5;
      println!("{}", x);
  
      let x = 3.14;
      println!("{}", x);
  
      let x = "Hello";
      println!("{}", x);
  }
  </code></pre>
  
  <ol>
  <li><p>What happens to the previous values? My understanding is that they are not destroyed.</p></li>
  <li><p>Is there a way to still access these values?</p></li>
  <li><p>If they are still consuming memory space, is it possible to release that space?</p></li>
  </ol>