]> git.lizzy.rs Git - rust.git/blob - src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs
Rollup merge of #94019 - hermitcore:target, r=Mark-Simulacrum
[rust.git] / src / test / ui / generic-associated-types / method-unsatified-assoc-type-predicate.rs
1 // Test that the predicate printed in an unresolved method error prints the
2 // generics for a generic associated type.
3
4 #![feature(generic_associated_types)]
5
6 trait X {
7     type Y<T>;
8 }
9
10 trait M {
11     fn f(&self) {}
12 }
13
14 impl<T: X<Y<i32> = i32>> M for T {}
15 //~^ NOTE the following trait bounds were not satisfied
16
17 struct S;
18 //~^ NOTE method `f` not found for this
19 //~| NOTE doesn't satisfy `<S as X>::Y<i32> = i32`
20 //~| NOTE doesn't satisfy `S: M`
21
22 impl X for S {
23     type Y<T> = bool;
24 }
25
26 fn f(a: S) {
27     a.f();
28     //~^ ERROR the method `f` exists for struct `S`, but its trait bounds were not satisfied
29     //~| NOTE method cannot be called on `S` due to unsatisfied trait bounds
30 }
31
32 fn main() {}