• 多重限定
    • 参见:

    多重限定

    使用多重限定(multiple bounds)可以用 + 连接。和平常一样,不同的类型使用 , 隔开。

    1. use std::fmt::{Debug, Display};
    2. fn compare_prints<T: Debug + Display>(t: &T) {
    3. println!("Debug: `{:?}`", t);
    4. println!("Display: `{}`", t);
    5. }
    6. fn compare_types<T: Debug, U: Debug>(t: &T, u: &U) {
    7. println!("t: `{:?}", t);
    8. println!("u: `{:?}", u);
    9. }
    10. fn main() {
    11. let string = "words";
    12. let array = [1, 2, 3];
    13. let vec = vec![1, 2, 3];
    14. compare_prints(&string);
    15. //compare_prints(&array);
    16. // 试一试 ^ 将此行注释去掉。
    17. compare_types(&array, &vec);
    18. }

    参见:

    std::fmttrait