| // Regression test for #102800 |
| // |
| // Here we are generating higher-ranked region constraints when normalizing and relating closure |
| // input types. Previously this was an ICE in the error path because we didn't register enough |
| // diagnostic information to render the higher-ranked subtyping error. |
| |
| //@ check-fail |
| |
| trait Trait { |
| type Ty; |
| } |
| |
| impl Trait for &'static () { |
| type Ty = (); |
| } |
| |
| fn main() { |
| let _: for<'a> fn(<&'a () as Trait>::Ty) = |_| {}; |
| //~^ ERROR implementation of `Trait` is not general enough |
| //~| ERROR implementation of `Trait` is not general enough |
| } |