9951 explained code solutions for 126 technologies


rustHow to free box memory in Rust


Rust provides a number of ways to free memory.

  1. Drop: The drop function is used to free memory associated with a variable. It is called automatically when a variable goes out of scope.
let x = Box::new(5);
drop(x);
  1. Manually: Memory can also be manually freed using the std::mem::drop function.
let x = Box::new(5);
std::mem::drop(x);
  1. std::mem::forget: The std::mem::forget function can be used to manually free memory without calling the drop function.
let x = Box::new(5);
std::mem::forget(x);
  1. std::mem::replace: The std::mem::replace function can be used to replace a variable with a new value and free the memory associated with the old value.
let mut x = Box::new(5);
std::mem::replace(&mut x, Box::new(6));
  1. std::mem::swap: The std::mem::swap function can be used to swap two variables and free the memory associated with the old values.
let mut x = Box::new(5);
let mut y = Box::new(6);
std::mem::swap(&mut x, &mut y);

These functions can be used to free memory in Rust.

Edit this code on GitHub