// Copyright 2026 Amber Hu
use std::vec::Vec;
// Let's use the get_number() function we just made in result.rs
mod result;
use self::result::get_number;
fn main() {
let mut array = [0, 1, 2, 3, 4];
increment_array(&mut array);
println!("array: {array:?}");
// Cannot read from uninitialized memory
//let x : i32;
//println!("x: {x}");
// Try running `cargo valgrind run` to see if mem is leaked
//let size = get_number();
//populate_vec_and_print(size);
}
// We didn't pass the length of the array in, but it still prevented
// a buffer overflow!
fn increment_array(arr : &mut [i32]) {
arr[4] += 1;
arr[5] += 1; // hmmm
}
fn populate_vec_and_print(size : u8) {
let mut v = Vec::new();
for i in 0..size {
v.push(i);
}
println!("{v:?}");
// v gets Dropped (destructed)
}