p_rust 0.1.0

My rust practice
Documentation
struct User {
    active: bool,
    username: String,
    email: String,
    sign_in_count: u64
}

fn build_user(email: String, username: String) -> User {
    User {
        email,
        username,
        active: true,
        sign_in_count: 1,
    }
}

struct Color(i32, i32, i32);
struct Point(i32, i32, i32);
struct RGBA(Color, i32);
// struct AlwaysEqual;

fn main() {
    let mut user1 = User {
        email: String::from("someone@example.com"),
        username: String::from("someusername123"),
        active: true,
        sign_in_count: 1,
    };
    user1.email = String::from("anotheremail@example.com");

    let user2 = build_user(String::from("someone@example.com"),String::from("someusername123"));
    println!("user2: {}, {}, {}, {}", user2.active, user2.username, user2.email, user2.sign_in_count);

    let user3 = User {
        email: String::from("another@example.com"),
        ..user2
    };
    println!("user3: {}, {}, {}, {}", user3.active, user3.username, user3.email, user3.sign_in_count);
    println!("user2 email: {}, active: {}, sign_in_count: {}", user2.email, user2.active, user2.sign_in_count);

    let black = Color(0, 0, 0);
    let origin = Point(0, 0, 0);
    println!("black: {} {} {}", black.0, black.1, black.2);
    println!("origin: {} {} {}", origin.0, origin.1, origin.2);
    let hybrid = RGBA(black, 1);
    println!("hybrid: {} {} {} {}", hybrid.0.0, hybrid.0.1, hybrid.0.2, hybrid.1);

    // let subject = AlwaysEqual;
}