#[derive(Debug, Eq, Ord, PartialEq, PartialOrd)]
struct Worker {
name: String,
company: String,
age:u32
}
impl Worker {
pub fn new(name: String, company: String, age: u32) -> Self {
Worker {
name,
company,
age
}
}
}
fn main() {
let mut workers = vec![
Worker::new("Dana".to_string(), "Google".to_string(), 45),
Worker::new("Avalonr".to_string(), "Microsoft".to_string(), 71),
Worker::new("r2d2".to_string(), "Apple".to_string(), 98),
Worker::new("Albus".to_string(), "OpenAI".to_string(), 67),
];
workers.sort();
println!("{:?}", workers);
}
/*
run:
[Worker { name: "Albus", company: "OpenAI", age: 67 }, Worker { name: "Avalonr", company: "Microsoft", age: 71 }, Worker { name: "Dana", company: "Google", age: 45 }, Worker { name: "r2d2", company: "Apple", age: 98 }]
*/