blob: 3bf14c6347cc6ca80f078dfec6a046ecc8a17c76 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
use std::mem::drop; // <1> Bring manual `drop()` into local scope
fn main() {
let a = Box::new(1);
let b = Box::new(1);
let c = Box::new(1);
let result1 = *a + *b + *c; // <2> Use the variables so that they're not optimized away by the compiler. The unary `pass:[*]` operator is called the dereference operator. It returns the value within the box.
drop(a); // <3> The memory holding `a` is now available
let d = Box::new(1);
let result2 = *b + *c + *d;
println!("{} {}", result1, result2);
}
|