2021-03-19

[Rust] アトリビュート

Rust
 定義の前の行に付与し、該当定義を拡張する表現。

・該当:Clone Copy Debug Default Eq PartialEq PartialOrd
・条件:struct/enumが内包する全ての型がそのトレイトを実装している必要がある

【記述】
#[allow] // clippyのチェックを緩和
#[cfg(test)] // cargo test時にのみ実行するモジュールに指定
#[derive(A)] // Aを実装 複数(A, B)可
#[ignore] // #[test]の下行に記述 通常のcargo_testでは実行されない
#![no_main] // 通常の環境におけるmain関数を使用しない
#![no_std] // Rustの標準ライブラリを使用しない
#[should_panic] // #[test]の下行に記述 panicした場合にテスト成功とする
#[test] // cargo test時にのみ実行する関数に指定