1 error[E0599]: no method named `foo` found for reference `&Foo<T>` in the current scope
2 --> $DIR/missing-trait-bounds-for-method-call.rs:14:14
5 | ------------- doesn't satisfy `Foo<T>: Bar`
8 | ^^^ method not found in `&Foo<T>`
10 = note: the method `foo` exists but the following trait bounds were not satisfied:
12 which is required by `Foo<T>: Bar`
13 `T: std::default::Default`
14 which is required by `Foo<T>: Bar`
15 = help: items from traits can only be used if the trait is implemented and in scope
16 note: `Bar` defines an item `foo`, perhaps you need to implement it
17 --> $DIR/missing-trait-bounds-for-method-call.rs:6:1
21 help: consider restricting the type parameters to satisfy the obligations
23 LL | struct Foo<T> where T: Bar, T: std::default::Default {
24 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26 error[E0599]: no method named `foo` found for reference `&Fin<T>` in the current scope
27 --> $DIR/missing-trait-bounds-for-method-call.rs:27:14
29 LL | struct Fin<T> where T: Bar {
30 | -------------------------- doesn't satisfy `Fin<T>: Bar`
33 | ^^^ method not found in `&Fin<T>`
35 = note: the method `foo` exists but the following trait bounds were not satisfied:
36 `T: std::default::Default`
37 which is required by `Fin<T>: Bar`
38 = help: items from traits can only be used if the trait is implemented and in scope
39 note: `Bar` defines an item `foo`, perhaps you need to implement it
40 --> $DIR/missing-trait-bounds-for-method-call.rs:6:1
44 help: consider restricting the type parameter to satisfy the obligation
46 LL | struct Fin<T> where T: Bar, T: std::default::Default {
47 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
49 error: aborting due to 2 previous errors
51 For more information about this error, try `rustc --explain E0599`.