1 use quickcheck::{quickcheck, TestResult};
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 prop(xs: Vec<isize>) -> TestResult {
13         if xs.len() != 1 {
14             return TestResult::discard();
15         }
16         TestResult::from_bool(xs == reverse(&*xs))
17     }
18     quickcheck(prop as fn(Vec<isize>) -> TestResult);
19 }
20