41 lines
1.2 KiB
Plaintext
41 lines
1.2 KiB
Plaintext
error: item does not constrain `A::{opaque#0}`, but has it in its signature
|
|
--> $DIR/two_tait_defining_each_other2.rs:11:4
|
|
|
|
|
LL | fn muh(x: A) -> B {
|
|
| ^^^
|
|
|
|
|
= note: consider moving the opaque type's declaration and defining uses into a separate module
|
|
note: this opaque type is in the signature
|
|
--> $DIR/two_tait_defining_each_other2.rs:6:10
|
|
|
|
|
LL | type A = impl Foo;
|
|
| ^^^^^^^^
|
|
|
|
error: unconstrained opaque type
|
|
--> $DIR/two_tait_defining_each_other2.rs:6:10
|
|
|
|
|
LL | type A = impl Foo;
|
|
| ^^^^^^^^
|
|
|
|
|
= note: `A` must be used in combination with a concrete type within the same module
|
|
|
|
error: opaque type's hidden type cannot be another opaque type from the same scope
|
|
--> $DIR/two_tait_defining_each_other2.rs:14:5
|
|
|
|
|
LL | x // B's hidden type is A (opaquely)
|
|
| ^ 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_other2.rs:7:10
|
|
|
|
|
LL | type B = impl Foo;
|
|
| ^^^^^^^^
|
|
note: opaque type being used as hidden type
|
|
--> $DIR/two_tait_defining_each_other2.rs:6:10
|
|
|
|
|
LL | type A = impl Foo;
|
|
| ^^^^^^^^
|
|
|
|
error: aborting due to 3 previous errors
|
|
|