0
derive
構文を使用して、Hash
またはPartialEq
のような特質を実装できますか?serdeのような特定のフィールドのみの派生属性
それは次のようになります。私はid
、およびname
なし他人を使用するhash
方法をしたい
#[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,
}
。
serdeライブラリでは、このようなシリアル化が可能です。
これを行う際に、タプルを返す 'key'メソッドを作成し、' hash'と 'eq'(そして他のもの)をすべて順番に同期させて保持するのに便利です。カウント。 – Shepmaster
@Shepmasterありがとう、それは良いアイデアのようです、特に> 2フィールドを含める場合。 – Dogbert