summaryrefslogtreecommitdiffstats
path: root/src/test/ui/missing-trait-bounds/missing-trait-bounds-for-method-call.stderr
blob: 9e94aa2c7b3b9916efb01ea902a8b2694992383e (plain)
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
49
50
51
52
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: trait bound `T: Default` was not satisfied
  --> $DIR/missing-trait-bounds-for-method-call.rs:10:9
   |
LL | impl<T: Default + Bar> Bar for Foo<T> {}
   |         ^^^^^^^        ---     ------
   |         |
   |         unsatisfied trait bound introduced here
note: trait bound `T: Bar` was not satisfied
  --> $DIR/missing-trait-bounds-for-method-call.rs:10:19
   |
LL | impl<T: Default + Bar> Bar for Foo<T> {}
   |                   ^^^  ---     ------
   |                   |
   |                   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`.