summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed')
-rw-r--r--src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed b/src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed
new file mode 100644
index 000000000..691e7553a
--- /dev/null
+++ b/src/test/ui/suggestions/missing-bound-in-manual-copy-impl-2.fixed
@@ -0,0 +1,19 @@
+// run-rustfix
+
+#[derive(Clone)]
+struct Wrapper<T>(T);
+
+struct OnlyCopyIfDisplay<T>(std::marker::PhantomData<T>);
+
+impl<T: std::fmt::Display> Clone for OnlyCopyIfDisplay<T> {
+ fn clone(&self) -> Self {
+ OnlyCopyIfDisplay(std::marker::PhantomData)
+ }
+}
+
+impl<T: std::fmt::Display> Copy for OnlyCopyIfDisplay<T> {}
+
+impl<S: std::fmt::Display> Copy for Wrapper<OnlyCopyIfDisplay<S>> {}
+//~^ ERROR the trait `Copy` may not be implemented for this type
+
+fn main() {}