// Check that we don't have a cycle when we try to normalize `Self::V` in the // bound below. // check-pass trait Is { type T; } impl Is for U { type T = U; } trait Obj { type U: Is; type V; } fn is_obj(_: &T) {} fn f(x: &dyn Obj) { is_obj(x) } fn main() {}