You need to specify the properties of T that you use. So, that first line should be:
fn largest<T: PartialOrd + Copy>(list: &[T]) -> T {
https://tomtongue.com/docs/rust-wk-20.html#trait-bounds
An example:
I'm sure experienced Rust devs look at that and say it's fine, but that's definitely a hurdle for new developers.