多重约束
多重约束(multiple bounds)可以用 + 连接。和平常一样,类型之间使用 , 隔开。
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);// 试一试 ^ 将此行注释去掉。compare_types(&array, &vec);}
