error[E0277]: the trait bound `T: Wf` is not satisfied --> $DIR/bad-wf-when-selecting-method.rs:12:13 | LL | Wrapper(t).needs_sized(); | ------- ^ the trait `Wf` is not implemented for `T` | | | required by a bound introduced by this call | note: required by a bound in `Wrapper` --> $DIR/bad-wf-when-selecting-method.rs:5:19 | LL | struct Wrapper, U>(T); | ^^^^^^^^^^^^^ required by this bound in `Wrapper` help: consider restricting type parameter `T` with trait `Wf` | LL | fn test(t: T) { | ++++ error[E0277]: the trait bound `T: Wf` is not satisfied --> $DIR/bad-wf-when-selecting-method.rs:12:5 | LL | Wrapper(t).needs_sized(); | ^^^^^^^^^^ the trait `Wf` is not implemented for `T` | note: required by a bound in `Wrapper` --> $DIR/bad-wf-when-selecting-method.rs:5:19 | LL | struct Wrapper, U>(T); | ^^^^^^^^^^^^^ required by this bound in `Wrapper` help: consider restricting type parameter `T` with trait `Wf` | LL | fn test(t: T) { | ++++ error[E0599]: the method `needs_sized` exists for struct `Wrapper`, but its trait bounds were not satisfied --> $DIR/bad-wf-when-selecting-method.rs:12:16 | LL | struct Wrapper, U>(T); | ----------------------------------- method `needs_sized` not found for this struct ... LL | Wrapper(t).needs_sized(); | ^^^^^^^^^^^ method cannot be called on `Wrapper` due to unsatisfied trait bounds | = note: the following trait bounds were not satisfied: `T: Wf` help: consider restricting the type parameter to satisfy the trait bound | LL | fn test(t: T) where T: Wf { | +++++++++++ error: aborting due to 3 previous errors Some errors have detailed explanations: E0277, E0599. For more information about an error, try `rustc --explain E0277`.