//@ revisions: stock hr //@[hr] compile-flags: -Zhigher-ranked-assumptions //@ edition: 2024 //@ check-pass // Test that we don't normalize the higher-ranked assumptions of an auto trait goal // unless we have `-Zhigher-ranked-assumptions`, since obligations that result from // this normalization may lead to higher-ranked lifetime errors when the flag is not // enabled. // Regression test for . pub fn a() -> impl Future + Send { async { let queries = core::iter::empty().map(Thing::f); b(queries).await; } } async fn b(queries: impl IntoIterator) { c(queries).await; } fn c<'a, I>(_queries: I) -> impl Future where I: IntoIterator, I::IntoIter: 'a, { async {} } pub struct Thing<'a>(pub &'a ()); impl Thing<'_> { fn f(_: &Self) {} } fn main() {}