24 lines
333 B
Rust
24 lines
333 B
Rust
//@ check-pass
|
|
|
|
struct Foo<A: Repr>(<A as Repr>::Data);
|
|
|
|
impl<A> Copy for Foo<A> where <A as Repr>::Data: Copy {}
|
|
impl<A> Clone for Foo<A>
|
|
where
|
|
<A as Repr>::Data: Clone,
|
|
{
|
|
fn clone(&self) -> Self {
|
|
Foo(self.0.clone())
|
|
}
|
|
}
|
|
|
|
trait Repr {
|
|
type Data;
|
|
}
|
|
|
|
impl<A> Repr for A {
|
|
type Data = u32;
|
|
}
|
|
|
|
fn main() {}
|