File: arbitrary-self-opaque.stderr

package info (click to toggle)
rustc 1.85.0%2Bdfsg3-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental, sid, trixie
  • size: 893,396 kB
  • sloc: xml: 158,127; python: 35,830; javascript: 19,497; cpp: 19,002; sh: 17,245; ansic: 13,127; asm: 4,376; makefile: 1,051; perl: 29; lisp: 29; ruby: 19; sql: 11
file content (25 lines) | stat: -rw-r--r-- 950 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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`.