1 error[E0599]: the function or associated item `make_g` exists for fn pointer `for<'a> fn(&'a ())`, but its trait bounds were not satisfied
2 --> $DIR/issue-57642-higher-ranked-subtype.rs:31:25
4 LL | let x = <fn (&())>::make_g();
5 | ^^^^^^ function or associated item cannot be called on `for<'a> fn(&'a ())` due to unsatisfied trait bounds
7 = note: the following trait bounds were not satisfied:
8 `for<'a> fn(&'a ()): X`
9 = help: items from traits can only be used if the trait is implemented and in scope
10 note: `X` defines an item `make_g`, perhaps you need to implement it
11 --> $DIR/issue-57642-higher-ranked-subtype.rs:4:1
16 error[E0599]: no function or associated item named `make_f` found for fn pointer `for<'a> fn(&'a ())` in the current scope
17 --> $DIR/issue-57642-higher-ranked-subtype.rs:35:25
19 LL | let x = <fn (&())>::make_f();
20 | ^^^^^^ function or associated item not found in `for<'a> fn(&'a ())`
22 = help: items from traits can only be used if the trait is implemented and in scope
23 note: `Y` defines an item `make_f`, perhaps you need to implement it
24 --> $DIR/issue-57642-higher-ranked-subtype.rs:17:1
29 error: aborting due to 2 previous errors
31 For more information about this error, try `rustc --explain E0599`.