trait Y<'a, T: ?Sized> | |
where | |
T: Y<'a, Self>, | |
for<'b> <Self as Y<'b, T>>::V: Clone, | |
for<'b> <T as Y<'b, Self>>::V: Clone, | |
{ | |
type V: ?Sized; | |
fn g(&self, x: &Self::V) { | |
<Self::V>::clone(x); | |
} | |
} | |
impl<'a> Y<'a, u8> for u8 { | |
type V = str; | |
//~^ ERROR the trait bound `for<'b> <u8 as Y<'b, u8>>::V: std::clone::Clone` is not satisfied | |
} | |
fn main() { | |
1u8.g("abc"); | |
} |