Заимствование в Rust

Здравствуйте! Я только начал изучать Rust и у меня возник следующий вопрос:

Есть у меня пример кода:

fn main() {
    let mut x = 5;
    let y = &mut x;

    *y = 6;
    println!("{}", y);
}

Насколько я понял, x заимствуется y. Подскажите, каким образом можно освободить x для дальнейшего использования, например?

fn main() {
  let mut x = 5;

  {
    let y = &mut x;
    *y = 6;
    println!("{}", y);
  }

  // здесь x свободна
}
2 лайка

То есть при выходе из блока, все ссылки освобождаются? Спасибо за ответ:)