blob: 9aca59f8ce6d75bc56000eb85a0f07aa41a3bc88 [file] [log] [blame]
// ignore-tidy-linelength
trait X<'a, T>
where
for<'b> T: X<'b, T>,
for<'b> <T as X<'b, T>>::U: Clone,
{
type U: ?Sized;
fn f(x: &<T as X<'_, T>>::U) {
<<T as X<'_, T>>::U>::clone(x);
}
}
impl<S, T> X<'_, (T,)> for (S,) {
type U = str;
//~^ ERROR the trait bound `for<'b> <(T,) as X<'b, (T,)>>::U: std::clone::Clone` is not satisfied
}
pub fn main() {
<(i32,) as X<(i32,)>>::f("abc");
}