Verwenden derive
Syntax kann ich Traits wie Hash
oder PartialEq
mit bestimmten Feldern, nicht alle von ihnen implementieren?Ableiten Attribut für bestimmte Felder nur, wie serde tut
Es könnte wie folgt aussehen:
#[derive(Debug, Hash, Eq, PartialEq)]
struct MyStruct {
id: i32,
name: String,
#[derive(hash_skip, eq_skip)]
aux_data1: f64,
#[derive(hash_skip, eq_skip)]
aux_data2: f64,
#[derive(hash_skip, eq_skip)]
aux_data3: String,
}
ich die hash
Methode nur will id
verwenden, und name
und keine andere.
Die Bibliothek serde ermöglicht etwa so etwas für die Serialisierung.
Wenn ich dies getan habe, habe ich es nützlich gefunden, eine 'key' Methode zu erstellen, die das Tupel zurückgibt, das dann verwendet wird, um' hash' und 'eq' (und was auch immer) synchronisiert zu halten Anzahl. – Shepmaster
@Shempmaster Danke, das scheint eine gute Idee zu sein, besonders wenn du> 2 Felder einbeziehen willst. – Dogbert