// run-pass struct Foo(::Data); impl Copy for Foo where ::Data: Copy { } impl Clone for Foo where ::Data: Clone { fn clone(&self) -> Self { Foo(self.0.clone()) } } trait Repr { type Data; } impl Repr for A { type Data = u32; } fn main() { }