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);
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);
}