|
#[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 |
等値比較が出来るようになる。 |