1 // run-pass
2 use std::ops::FnMut;
3 
call_it<F:FnMut(i32,i32)->i32>(y: i32, mut f: F) -> i324 fn call_it<F:FnMut(i32,i32)->i32>(y: i32, mut f: F) -> i32 {
5     f(2, y)
6 }
7 
main()8 pub fn main() {
9     let f = |x: i32, y: i32| -> i32 { x + y };
10     let z = call_it(3, f);
11     println!("{}", z);
12     assert_eq!(z, 5);
13 }
14