error: opaque type's hidden type cannot be another opaque type from the same scope --> $DIR/two_tait_defining_each_other.rs:12:5 | LL | x // A's hidden type is `Bar`, because all the hidden types of `B` are compared with each other | ^ one of the two opaque types used here has to be outside its defining scope | note: opaque type whose hidden type is being assigned --> $DIR/two_tait_defining_each_other.rs:4:10 | LL | type B = impl Foo; | ^^^^^^^^ note: opaque type being used as hidden type --> $DIR/two_tait_defining_each_other.rs:3:10 | LL | type A = impl Foo; | ^^^^^^^^ error: aborting due to previous error