Как определить вектор сравнимого в Rust?
Скажем, i32
, i16
...
Я пытался arr: Vec<Ord>
, но компилятор жалуется на the trait "std::cmp::Ord" cannot be made into an object
В принципе мне нужно хранить вектор вектора сопоставимых объектов.например,
struct Setup<T: Ord + Copy> {
arr: Vec<Vec<T>>
}
impl<T: Ord + Copy> Setup<T> {
fn new() -> Self {
Self {
arr: vec![
vec![1, 2, 3, 4, 5],
vec![1.0, 2.0, 3.0]
]
}
}
}
Вместо того, чтобы позволить потребителю решить, какой именно тип, я хотел бы, чтобы он мог получить вектор сопоставимых материалов.