fn max<T: std::cmp::PartialOrd>(list: &[T]) -> &T {
let mut max = &list[0];
for item in list {
if item > max {
max = &item;
}
}
max
}
#[derive(Debug)]
struct Point<T> {
x: T,
y: T,
}
impl<T> Point<T> {
fn x(&self) -> &T {
&self.x
}
}
fn main() {
println!("{}", max(&vec![1,4,21,2]));
println!("{}", max(&vec![1.5,4.6,21.2,2.0]));
let a = Point { x: 1, y: 2 };
let b = Point { x: 3.2, y: 4.0 };
println!("{:?}, {:?}", a.x(), b.x);
}