// run-pass #![allow(unused_braces)] fn test_generic(expected: T, eq: F) where T: Clone, F: FnOnce(T, T) -> bool { let actual: T = { expected.clone() }; assert!(eq(expected, actual)); } fn test_vec() { fn compare_vec(v1: Box, v2: Box) -> bool { return v1 == v2; } test_generic::, _>(Box::new(1), compare_vec); } pub fn main() { test_vec(); }