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}