26 lines
345 B
Rust
26 lines
345 B
Rust
|
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() {}
|