error[E0599]: the method `f` exists for struct `S`, but its trait bounds were not satisfied --> $DIR/method-unsatisfied-assoc-type-predicate.rs:26:7 | LL | struct S; | -------- method `f` not found for this struct because it doesn't satisfy `::Y = i32` or `S: M` ... LL | a.f(); | ^ method cannot be called on `S` due to unsatisfied trait bounds | note: trait bound `::Y = i32` was not satisfied --> $DIR/method-unsatisfied-assoc-type-predicate.rs:12:11 | LL | impl = i32>> M for T {} | ^^^^^^^^^^^^ - - | | | unsatisfied trait bound introduced here = help: items from traits can only be used if the trait is implemented and in scope note: `M` defines an item `f`, perhaps you need to implement it --> $DIR/method-unsatisfied-assoc-type-predicate.rs:8:1 | LL | trait M { | ^^^^^^^ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0599`.