error[E0599]: the method `foo` exists for reference `&Foo`, but its trait bounds were not satisfied --> $DIR/missing-trait-bounds-for-method-call.rs:14:14 | LL | struct Foo { | ------------- doesn't satisfy `Foo: Bar` ... LL | self.foo(); | ^^^ method cannot be called on `&Foo` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Default` which is required by `Foo: Bar` `T: Bar` which is required by `Foo: Bar` help: consider restricting the type parameters to satisfy the trait bounds | LL | struct Foo where T: Bar, T: Default { | ++++++++++++++++++++++++ error[E0599]: the method `foo` exists for reference `&Fin`, but its trait bounds were not satisfied --> $DIR/missing-trait-bounds-for-method-call.rs:27:14 | LL | struct Fin where T: Bar { | -------------------------- doesn't satisfy `Fin: Bar` ... LL | self.foo(); | ^^^ method cannot be called on `&Fin` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Default` which is required by `Fin: Bar` help: consider restricting the type parameter to satisfy the trait bound | LL | struct Fin where T: Bar, T: Default { | ++++++++++++ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0599`.