#![allow(dead_code)]

struct Person {
    age: i32,
    name: String,
}

impl ToString for Person {
    fn to_string(&self) -> String {
        format!("{} ({})", self.name, self.age)
    }
}

fn greet_person_1(p: Person) {
    println!("Hello {} ({})!", p.name, p.age);
}

fn greet_person_2(p: &Person) {
    println!("Hello {} ({})!", p.name, p.age);
}

fn birthday(p: &mut Person) {
    p.age += 1;
}

fn main() {
    // -- Struct instantiation --
    let mut p = Person { age: 30, name: "Mary".to_string() };

    // -- Borrowing --
    //greet_person_1(p);
    //greet_person_1(p);

    greet_person_2(&p);
    greet_person_2(&p);

    birthday(&mut p);

    greet_person_2(&p);

    // -- Traits --
    println!("p = {}", p.to_string());

    // -- Debugging --
    let x = dbg!(100 + 2) + 3;
    println!("Hello, world!  100 + 2 + 3 = {}", x);
}
