導出(Derive)
コンパイラには、#[derive]
アトリビュートを用いることで型に対して特定のトレイトの標準的な実装を提供する機能があります。より複雑なことを行わせたい場合には、同名のトレイトを手動で実装することも可能です。
以下はderive可能なトレイトの一覧です。
- 型の比較に関連するトレイト:
Eq
,PartialEq
,Ord
,PartialOrd
. Clone
:これはコピーによって&T
からT
を作成するトレイトCopy
:これはムーブセマンティクスの代わりにコピーセマンティクスにするためのトレイトHash
:これは&T
からハッシュ値を計算するためのトレイトDefault
:これは空っぽのインスタンスを作成するためのトレイトDebug
:これは{:?}
フォーマッタを利用して値をフォーマットするためのトレイト