// Regression test for #59311. The test is taken from // rust-lang/rust/issues/71546#issuecomment-620638437 // as they seem to have the same cause. // FIXME: It's not clear that this code ought to report // an error, but the regression test is here to ensure // that it does not ICE. See discussion on #74889 for details. pub trait Trait { fn t(&self, _: F) {} } pub fn crash(v: &V) where for<'a> &'a V: Trait + 'static, { v.t(|| {}); //~^ ERROR: implementation of `Trait` is not general enough //~| ERROR: implementation of `Trait` is not general enough //~| ERROR: higher-ranked lifetime error } fn main() {}