File: missing-trait-bounds-for-method-call.stderr

package info (click to toggle)
rustc-web 1.78.0%2Bdfsg1-2~deb12u3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 1,245,420 kB
  • sloc: xml: 147,985; javascript: 18,022; sh: 11,083; python: 10,265; ansic: 6,172; cpp: 5,023; asm: 4,390; makefile: 4,269
file content (48 lines) | stat: -rw-r--r-- 1,828 bytes parent folder | download | duplicates (10)
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
error[E0599]: the method `foo` exists for reference `&Foo<T>`, but its trait bounds were not satisfied
  --> $DIR/missing-trait-bounds-for-method-call.rs:14:14
   |
LL | struct Foo<T> {
   | ------------- doesn't satisfy `Foo<T>: Bar`
...
LL |         self.foo();
   |              ^^^ method cannot be called on `&Foo<T>` due to unsatisfied trait bounds
   |
note: the following trait bounds were not satisfied:
      `T: Bar`
      `T: Default`
  --> $DIR/missing-trait-bounds-for-method-call.rs:10:9
   |
LL | impl<T: Default + Bar> Bar for Foo<T> {}
   |         ^^^^^^^   ^^^  ---     ------
   |         |         |
   |         |         unsatisfied trait bound introduced here
   |         unsatisfied trait bound introduced here
help: consider restricting the type parameters to satisfy the trait bounds
   |
LL | struct Foo<T> where T: Bar, T: Default {
   |               ++++++++++++++++++++++++

error[E0599]: the method `foo` exists for reference `&Fin<T>`, but its trait bounds were not satisfied
  --> $DIR/missing-trait-bounds-for-method-call.rs:27:14
   |
LL | struct Fin<T> where T: Bar {
   | ------------- doesn't satisfy `Fin<T>: Bar`
...
LL |         self.foo();
   |              ^^^ method cannot be called on `&Fin<T>` due to unsatisfied trait bounds
   |
note: trait bound `T: Default` was not satisfied
  --> $DIR/missing-trait-bounds-for-method-call.rs:23:9
   |
LL | impl<T: Default + Bar> Bar for Fin<T> {}
   |         ^^^^^^^        ---     ------
   |         |
   |         unsatisfied trait bound introduced here
help: consider restricting the type parameter to satisfy the trait bound
   |
LL | struct Fin<T> where T: Bar, T: Default {
   |                           ++++++++++++

error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0599`.