2016-12-07 4 views
3

PartialEq特性を導出する際に無視されるように、構造体のフィールドに注釈を付ける簡単な方法はありますか?例えば:PartialEqを導出するときに除外フィールド

#[derive(PartialEq,Eq)] 
pub struct UndirectedGraph { 
    nodes: HashMap<NodeIdx, UndirectedNode>, 
    // mapping of degree to nodes of that degree 
    degree_index: Vec<HashSet<NodeIdx>>, 
} 

私は、彼らが同じnodesフィールドを持っているときに、2つの無向グラフが等しいと考えることにするが、degree_indexフィールドは、(ベクトルの終わりに余分な空のハッシュセットを含んでいてもよい)、異なっていてもよいです。

明らかに、私は形質を手動で実装することができましたが、自動導出はより簡単になります。

+4

私は[mate of mine](https://mcarton.github.io/rust-derivative/cmp.html#ignoring-a-field)で行うことができますが、標準では得られません。 – mcarton

答えて

5

いいえ、現時点ではその方法はありません。サポートされているかどうかは疑問です。

比較したいフィールドを、派生したサブ構造体にすることを考えれば、より大きな構造体の実装を簡単にすることができます。

関連する問題