// Check that we validate associated type bounds on super traits for trait // objects trait Is { type T; } impl Is for U { type T = U; } trait Super { type V; } trait Obj: Super { type U: Is; } fn is_obj(_: &T) {} fn f(x: &dyn Obj) { is_obj(x) //~^ type mismatch resolving `::T == i64` } fn main() {}