diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/issues/issue-33187.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-33187.rs b/src/test/ui/issues/issue-33187.rs new file mode 100644 index 000000000..8db9e0058 --- /dev/null +++ b/src/test/ui/issues/issue-33187.rs @@ -0,0 +1,23 @@ +// run-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() {} |