1 use quickcheck::{quickcheck, TestResult}; 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 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