// run-pass struct X { repr: isize } fn apply(x: T, f: F) where F: FnOnce(T) { f(x); } fn check_int(x: isize) { assert_eq!(x, 22); } fn check_struct(x: X) { check_int(x.repr); } pub fn main() { apply(22, check_int); apply(X {repr: 22}, check_struct); }