error[E0308]: mismatched types --> $DIR/closure-with-wrong-borrows.rs:9:7 | LL | f(inner); | - ^^^^^ one type is more general than the other | | | arguments to this function are incorrect | = note: expected fn pointer `for<'a, 'b, 'c> fn(&'a str, &'b S<'c>)` found fn pointer `fn(_, _)` note: function defined here --> $DIR/closure-with-wrong-borrows.rs:3:4 | LL | fn f(inner: fn(&str, &S)) { | ^ ------------------- error: aborting due to previous error For more information about this error, try `rustc --explain E0308`.