2022-07-27 17:54:59 +00:00
|
|
|
// 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) = |_| {};
|
2022-09-17 18:35:47 +00:00
|
|
|
//~^ ERROR implementation of `Trait` is not general enough
|
2022-07-27 17:54:59 +00:00
|
|
|
//~| ERROR implementation of `Trait` is not general enough
|
|
|
|
}
|