12.5 Multiple bounds

다중 바인드는 +를 통해 사용할 수 있다. 일반적으로, 서로 다른 타입들은 ,로 구분된다. Multiple bounds can be applied with a +. Like normal, different types are separated with ,.

use std::fmt::{Debug, Display};

fn compare_prints<T: Debug + Display>(t: &T) {
    println!("Debug: `{:?}`", t);
    println!("Display: `{}`", t);
}

fn compare_types<T: Debug, U: Debug>(t: &T, u: &U) {
    println!("t: `{:?}", t);
    println!("u: `{:?}", u);
}

fn main() {
    let string = "words";
    let array = [1, 2, 3];
    let vec = vec![1, 2, 3];

    compare_prints(&string);
    //compare_prints(&array);
    // TODO ^ 해당 라인의 주석을 지워보세요.

    compare_types(&array, &vec);
}

See also:

std::fmt and traits

results matching ""

    No results matching ""