ライフタイム境界
ジェネリック型に境界(bound)を与え、特定のトレイトを実装していることを保証できるのと同様、ライフタイム(それ自身ジェネリック型)にも境界を与えることができます。:
は、ここでは多少異なる意味を持ちますが+
は同じです。以下の構文の意味をチェックしてください。
T: 'a
:T
内の 全ての 参照は'a
よりも長生きでなくてはならないT: Trait + 'a
: 上に加えてT
はTrait
という名のトレイトを実装してなくてはならない。
上記の構文を実際に動く例で見ていきましょう。where
キーワードの後に注目してください。