error[E0720]: cannot resolve opaque type --> $DIR/infinite-impl-trait-issue-38064.rs:8:13 | LL | fn foo() -> impl Quux { | ^^^^^^^^^ recursive opaque type ... LL | Foo(bar()) | ---------- returning here with type `foo::Foo` ... LL | fn bar() -> impl Quux { | --------- returning this opaque type `foo::Foo` error[E0720]: cannot resolve opaque type --> $DIR/infinite-impl-trait-issue-38064.rs:14:13 | LL | fn foo() -> impl Quux { | --------- returning this opaque type `bar::Bar` ... LL | fn bar() -> impl Quux { | ^^^^^^^^^ recursive opaque type ... LL | Bar(foo()) | ---------- returning here with type `bar::Bar` error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0720`.