#[derive(Clone, Debug)]
struct Pair<'a>(Box, &'a i32);
fn main() {
let mut num = 2;
let pair = Pair(Box::new(1), &num);
num = 3;
let mut moved_pair = pair.clone();
*moved_pair.0 = 4;
println!("original: {:?}", pair);
println!("copy: {:?}", moved_pair);
}