解答

1. use std::cmp::Ordering;

3. fn min<T: Ord>(l: T, r: T) -> T {
4. match l.cmp(&r) {
5. Ordering::Less | Ordering::Equal => l,
6. Ordering::Greater => r,
7. }
8. }

10. fn main() {
11. assert_eq!(min(0, 10), 0);
12. assert_eq!(min(500, 123), 123);

14. assert_eq!(min('a', 'z'), 'a');
15. assert_eq!(min('7', '1'), '1');

17. assert_eq!(min("hello", "goodbye"), "goodbye");
18. assert_eq!(min("bat", "armadillo"), "armadillo");
19. }