塩焼きブログ

塩焼きに関しての研究内容を公開しています

Rustで構造体にPartialEqを追加してテストを行う

下記のような構造体がある状態で

struct Hoge;

下記のように等価であるかどうかのテストを書いた。

assert_eq!(hoge::Hoge{}, hoge::Hoge{});

すると下記のようなエラーが出た

an implementation of `std::cmp::PartialEq` might be missing for `hoge::Hoge`

これはstd::cmp::PartialEqというTraitが実装されていないからなので、下記のようにしてマクロでTraitを追加してあげれば通るようになります。

#[derive(Debug,PartialEq)]
struct Hoge;