|
#[derive]は、コードを生成してくれる属性。
例えばCopyを指定するとCopyトレイトの実装が生成される。
#[derive(Clone, Copy, Debug, PartialEq, Eq)] enum MyEnum { A, B, C, }
指定 | 説明 |
---|---|
Clone |
Cloneトレイトの実装が生成され、cloneメソッドが使えるようになる。 |
Copy |
Copyトレイトの実装が生成され、値のコピーが出来るようになる。 Copyを指定するときは、Cloneトレイトが実装されている必要がある。 |
Debug |
Debugトレイトの実装が生成され、println!("{:?}") で値が出力できるようになる。 |
PartialEq, Eq |
等値比較が出来るようになる。 |