1 use quickcheck::quickcheck;
2 
reverse<T: Clone>(xs: &[T]) -> Vec<T>3 fn 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()11 fn 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