]> git.lizzy.rs Git - rust.git/blob - src/test/ui/generic-associated-types/method-unsatified-assoc-type-predicate.rs
Auto merge of #87150 - rusticstuff:simplify_wrapping_neg, r=m-ou-se
[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
16 struct S;
17 //~^ NOTE method `f` not found for this
18 //~| NOTE doesn't satisfy `<S as X>::Y<i32> = i32`
19 //~| NOTE doesn't satisfy `S: M`
20
21 impl X for S {
22     type Y<T> = bool;
23 }
24
25 fn f(a: S) {
26     a.f();
27     //~^ ERROR the method `f` exists for struct `S`, but its trait bounds were not satisfied
28     //~| NOTE method cannot be called on `S` due to unsatisfied trait bounds
29     //~| NOTE the following trait bounds were not satisfied:
30 }
31
32 fn main() {}