Hash
Вычисление хеша для типа.
Можно получить через derive: ✅
// Copyright 2025 Google LLC
// SPDX-License-Identifier: Apache-2.0
use std::collections::HashMap;
#[derive(PartialEq, Eq, Hash)]
pub struct User {
id: u32,
name: String,
}
fn main() {
let user = User { id: 1, name: "Алиса".into() };
let mut map = HashMap::new();
map.insert(user, "value");
}
-
Позволяет использовать тип в алгоритмах хеширования; чаще всего используется со структурами данных вроде
HashMap. -
Очень упрощает использование собственных типов как ключей в
HashMap! -
Hashсам не определяет логику хеширования; вместо этого он передаёт данные типа вHasher. Это позволяет использовать разные алгоритмы хеширования, не меняя реализациюHashдля типа.