導出(Derive)

コンパイラには、#[derive]アトリビュートを用いることで型に対して特定のトレイトの標準的な実装を提供する機能があります。より複雑なことを行わせたい場合には、同名のトレイトを手動で実装することも可能です。

以下はderive可能なトレイトの一覧です。

  • 型の比較に関連するトレイト: Eq, PartialEq, Ord, PartialOrd
  • Clone, これはコピーによって&TからTを作成するトレイト
  • Copy, to give a type 'copy semantics' instead of 'move semantics'.
  • Hash, これは&Tからハッシュ値を計算するためのトレイト
  • Default, これは空っぽのインスタンスを作成するためのトレイト
  • Debug, これは{:?}フォーマッタを利用して値をフォーマットするためのトレイト
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

参照

derive