summaryrefslogtreecommitdiffstats
path: root/src/test/ui/deriving/deriving-meta-multiple.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/deriving/deriving-meta-multiple.rs')
-rw-r--r--src/test/ui/deriving/deriving-meta-multiple.rs26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/deriving/deriving-meta-multiple.rs b/src/test/ui/deriving/deriving-meta-multiple.rs
new file mode 100644
index 000000000..ad255be8d
--- /dev/null
+++ b/src/test/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
+}