about summary refs log tree commit diff
path: root/tests/ui/deriving/deriving-meta-multiple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/deriving/deriving-meta-multiple.rs')
-rw-r--r--tests/ui/deriving/deriving-meta-multiple.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/deriving/deriving-meta-multiple.rs b/tests/ui/deriving/deriving-meta-multiple.rs
new file mode 100644
index 00000000000..ad255be8dab
--- /dev/null
+++ b/tests/ui/deriving/deriving-meta-multiple.rs
@@ -0,0 +1,26 @@
+// run-pass
+#![allow(unused_must_use)]
+#![allow(unused_imports)]
+// pretty-expanded FIXME #23616
+#![allow(deprecated)]
+
+use std::hash::{Hash, SipHasher};
+
+// testing multiple separate deriving attributes
+#[derive(PartialEq)]
+#[derive(Clone)]
+#[derive(Hash)]
+struct Foo {
+    bar: usize,
+    baz: isize
+}
+
+fn hash<T: Hash>(_t: &T) {}
+
+pub fn main() {
+    let a = Foo {bar: 4, baz: -3};
+
+    a == a;    // check for PartialEq impl w/o testing its correctness
+    a.clone(); // check for Clone impl w/o testing its correctness
+    hash(&a);  // check for Hash impl w/o testing its correctness
+}