我正在尝试在下面的示例中删除重复项:
struct User {
reference: String,
email: String,
}
fn main() {
let mut users: Vec<User> = Vec::new();
users.push(User {
reference: "abc".into(),
email: "test@test.com".into(),
});
users.push(User {
reference: "def".into(),
email: "test@test.com".into(),
});
users.push(User {
reference: "ghi".into(),
email: "test1@test.com".into(),
});
users.sort_by(|a, b| a.email.cmp(&b.email));
users.dedup();
}
我遇到了错误。
error[E0599]: no method named `dedup` found for type `std::vec::Vec<User>` in the current scope
--> src/main.rs:23:11
|
23 | users.dedup();
| ^^^^^
|
如何通过email
值从users
中删除重复项?我可以为struct User
实现dedup()
函数,还是需要做其他事情?