reverse/
reverse.rs

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