1 use quickcheck::quickcheck; 2 reverse<T: Clone>(xs: &[T]) -> Vec<T>3fn reverse<T: Clone>(xs: &[T]) -> Vec<T> { 4 let mut rev = vec![]; 5 for x in xs { 6 rev.insert(0, x.clone()) 7 } 8 rev 9 } 10 main()11fn main() { 12 fn equality_after_applying_twice(xs: Vec<isize>) -> bool { 13 xs == reverse(&reverse(&xs)) 14 } 15 quickcheck(equality_after_applying_twice as fn(Vec<isize>) -> bool); 16 } 17