🌟
[Rust備忘録]where句ってなんやっけ…
Rust The Book より。
しれっと、where句がコードに出てきて、あれ…これ…なんやっけ…ってなったのでメモ。
ジェネリックを読みやすくするために使えるんですね。
fn some_function<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {
ってなってたら、シグネチャが読みにくいーってなるのを、
fn some_function<T, U>(t: &T, u: &U) -> i32
where T: Display + Clone,
U: Clone + Debug {
と書けるんですな。
うん。こりゃ便利だ。
関数だけじゃなくて、ジェネリックがでてくるところで使えるんですね。
struct LimitTracker<'a, T: 'a + Messenger> {
ってやつも、
struct LimitTracker<'a, T>
where T: 'a + Messenger {
ってできるってことかー。
where句使うと、落ち着いてコード読めていいね。
Discussion