error[E0631]: type mismatch in closure arguments --> $DIR/unboxed-closures-vtable-mismatch.rs:16:24 | LL | let f = to_fn_mut(|x: usize, y: isize| -> isize { (x as isize) + y }); | ----------------------------- found signature defined here LL | LL | let z = call_it(3, f); | ------- ^ expected due to this | | | required by a bound introduced by this call | = note: expected closure signature `fn(isize, _) -> _` found closure signature `fn(usize, _) -> _` note: required by a bound in `call_it` --> $DIR/unboxed-closures-vtable-mismatch.rs:7:15 | LL | fn call_it isize>(y: isize, mut f: F) -> isize { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `call_it` error: aborting due to previous error For more information about this error, try `rustc --explain E0631`.