| error[E0307]: invalid `self` parameter type: `Bar` |
| --> $DIR/arbitrary-self-opaque.rs:8:18 |
| | |
| LL | fn foo(self: Bar) {} |
| | ^^^ |
| | |
| = note: type of `self` must be `Self` or a type that dereferences to it |
| = help: consider changing to `self`, `&self`, `&mut self`, `self: Box<Self>`, `self: Rc<Self>`, `self: Arc<Self>`, or `self: Pin<P>` (where P is one of the previous types except `Self`) |
| |
| error: item does not constrain `Bar::{opaque#0}`, but has it in its signature |
| --> $DIR/arbitrary-self-opaque.rs:8:8 |
| | |
| LL | fn foo(self: Bar) {} |
| | ^^^ |
| | |
| = note: consider moving the opaque type's declaration and defining uses into a separate module |
| note: this opaque type is in the signature |
| --> $DIR/arbitrary-self-opaque.rs:4:12 |
| | |
| LL | type Bar = impl Sized; |
| | ^^^^^^^^^^ |
| |
| error: unconstrained opaque type |
| --> $DIR/arbitrary-self-opaque.rs:4:12 |
| | |
| LL | type Bar = impl Sized; |
| | ^^^^^^^^^^ |
| | |
| = note: `Bar` must be used in combination with a concrete type within the same module |
| |
| error: aborting due to 3 previous errors |
| |
| For more information about this error, try `rustc --explain E0307`. |