struct A(B); //~^ ERROR recursive types `A` and `B` have infinite size struct B(A>); trait Foo {} impl Foo for T where T: Send {} //~^ ERROR overflow evaluating the requirement `A>>>>>>: Send` impl Foo for B {} fn main() {}