| // run-pass | |
| struct X { | |
| repr: isize | |
| } | |
| fn apply<T, F>(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); | |
| } |