// run-pass fn test_generic(expected: T, eq: F) where F: FnOnce(T, T) -> bool { let actual: T = match true { true => expected.clone(), _ => panic!("wat") }; assert!(eq(expected, actual)); } fn test_vec() { fn compare_box(v1: Box, v2: Box) -> bool { return v1 == v2; } test_generic::, _>(Box::new(1), compare_box); } pub fn main() { test_vec(); }