Dev Study
Rust コース

28. トレイト境界 — ジェネリクスに条件を付ける

ジェネリック関数の中で比較や表示などの操作をするには、<T: PartialOrd> のように「T はこのトレイトを実装していること」という条件を付けます。これをトレイト境界と呼びます。

境界がないと、コンパイラは T に対してどんな操作も許してくれません。「ジェネリック関数の中で使う操作は、すべて境界として宣言する」と考えると、ジェネリクスのエラーメッセージが読み解けるようになります。

条件が複数あるときは <T: PartialOrd + Clone> のように + でつなぎます。境界が長くなったら where 句に逃がす書き方もある、と頭の片隅に置いておくと実務のコードで戸惑いません。

▶ サンプルコードを実行してみよう(自由に書き換えてOK)

Rust
公式ドキュメントで詳しく ↗