blob: aae1c917d129bc7c5268803645feba13d3eb209c [file] [log] [blame]
//@ check-pass
fn lt_in_fn_fn<'a: 'a>() -> fn(fn(&'a ())) {
|_| ()
}
fn foo<'a, 'b, 'lower>(v: bool)
where
'a: 'lower,
'b: 'lower,
{
// if we infer `x` to be higher ranked in the future,
// this would cause a type error.
let x = match v {
true => lt_in_fn_fn::<'a>(),
false => lt_in_fn_fn::<'b>(),
};
let _: fn(fn(&'lower())) = x;
}
fn main() {}