//@ check-pass | |
// Check that we don't hit a query cycle when: | |
// 1. Computing generics_of, which requires... | |
// 2. Calling resolve_bound_vars, which requires... | |
// 3. Calling associated_items, which requires... | |
// 4. Calling associated_type_for_impl_trait_in_trait, which requires... | |
// 5. Computing generics_of, which cycles. | |
pub trait Foo<'a> { | |
type Assoc; | |
fn demo<T>(other: T) -> impl Foo<'a, Assoc = Self::Assoc> | |
where | |
T: Foo<'a, Assoc = ()>; | |
} | |
fn main() {} |