1 trait X<'a>
2 where
3     for<'b> <Self as X<'b>>::U: Clone,
4 {
5     type U: ?Sized;
f(&self, x: &Self::U)6     fn f(&self, x: &Self::U) {
7         <Self::U>::clone(x);
8     }
9 }
10 
11 impl X<'_> for u32 //~ overflow evaluating the requirement `for<'b> u32: X<'b>`
12 where
13     for<'b> <Self as X<'b>>::U: Clone,
14 {
15     type U = str; //~ overflow evaluating the requirement `for<'b> u32: X<'b>`
16 }
17 
main()18 fn main() {
19     1u32.f("abc");
20 }
21