summaryrefslogtreecommitdiffstats
path: root/src/test/ui/issues/issue-33187.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/issues/issue-33187.rs')
-rw-r--r--src/test/ui/issues/issue-33187.rs23
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() {}