mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00

The recently landed PR to adjust arbitrary self types was a bit overenthusiastic, advising folks to use the new Receiver trait even before it's been stabilized. Revert to the older wording of the lint in such cases.
26 lines
950 B
Plaintext
26 lines
950 B
Plaintext
error[E0307]: invalid `self` parameter type: `Bar`
|
|
--> $DIR/arbitrary-self-opaque.rs:7: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:7: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: aborting due to 2 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0307`.
|