about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authormejrs <>2022-09-28 15:11:27 +0200
committermejrs <>2022-11-29 17:33:50 +0100
commit4ced370f7c03dad99c74ceb4b86a0538b970690a (patch)
treeb9c8dfd78187732b12425fbfde09cc2dc32404e7 /src/test
parentc372b1470109547e37dcc29ffd4723ac9f66f15d (diff)
downloadrust-4ced370f7c03dad99c74ceb4b86a0538b970690a.tar.gz
rust-4ced370f7c03dad99c74ceb4b86a0538b970690a.zip
Make `missing_copy_implementations` more cautious
Diffstat (limited to 'src/test')
-rw-r--r--src/test/ui/lint/lint-missing-copy-implementations-allow.rs35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/lint/lint-missing-copy-implementations-allow.rs b/src/test/ui/lint/lint-missing-copy-implementations-allow.rs
new file mode 100644
index 00000000000..051a905aed6
--- /dev/null
+++ b/src/test/ui/lint/lint-missing-copy-implementations-allow.rs
@@ -0,0 +1,35 @@
+// check-pass
+#![deny(missing_copy_implementations)]
+
+// Don't recommend implementing Copy on something stateful like an iterator.
+pub struct MyIterator {
+    num: u8,
+}
+
+impl Iterator for MyIterator {
+    type Item = u8;
+
+    fn next(&mut self) -> Option<Self::Item> {
+        todo!()
+    }
+}
+
+pub struct Handle {
+    inner: *mut (),
+}
+
+pub struct Handle2 {
+    inner: *const (),
+}
+
+pub enum MaybeHandle {
+    Ptr(*mut ()),
+}
+
+pub union UnionHandle {
+    ptr: *mut (),
+}
+
+pub struct Array([u8; 2048]);
+
+fn main() {}