error: lifetime may not live long enough
  --> $DIR/expect-fn-supply-fn.rs:16:49
   |
LL | fn expect_free_supply_free_from_fn<'x>(x: &'x u32) {
   |                                    -- lifetime `'x` defined here
...
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&'x u32), y| {});
   |                                                 ^
   |                                                 |
   |                                                 has type `fn(&'1 u32)`
   |                                                 requires that `'1` must outlive `'x`

error: lifetime may not live long enough
  --> $DIR/expect-fn-supply-fn.rs:16:49
   |
LL | fn expect_free_supply_free_from_fn<'x>(x: &'x u32) {
   |                                    -- lifetime `'x` defined here
...
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&'x u32), y| {});
   |                                                 ^ requires that `'x` must outlive `'static`
   |
   = help: consider replacing `'x` with `'static`

error: higher-ranked subtype error
  --> $DIR/expect-fn-supply-fn.rs:32:49
   |
LL |     with_closure_expecting_fn_with_free_region(|x: fn(&u32), y| {});
   |                                                 ^

error: higher-ranked subtype error
  --> $DIR/expect-fn-supply-fn.rs:39:50
   |
LL |     with_closure_expecting_fn_with_bound_region(|x: fn(&'x u32), y| {});
   |                                                  ^

error: higher-ranked subtype error
  --> $DIR/expect-fn-supply-fn.rs:48:50
   |
LL |     with_closure_expecting_fn_with_bound_region(|x: Foo<'_>, y| {
   |                                                  ^

error: aborting due to 5 previous errors

