trait TraitFoo { | |
type Bar; | |
} | |
struct Foo<T> | |
where | |
T: TraitFoo, | |
{ | |
inner: T::Bar, | |
} | |
impl<T> Clone for Foo<T> | |
where | |
T: TraitFoo, | |
T::Bar: Clone, | |
{ | |
fn clone(&self) -> Self { | |
Self { inner: self.inner.clone() } | |
} | |
} | |
impl<T> Copy for Foo<T> {} | |
//~^ ERROR the trait bound `T: TraitFoo` is not satisfied | |
fn main() {} |