summaryrefslogtreecommitdiffstats
path: root/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs')
-rw-r--r--src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs b/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs
new file mode 100644
index 000000000..cdde48871
--- /dev/null
+++ b/src/test/ui/builtin-superkinds/builtin-superkinds-in-metadata2.rs
@@ -0,0 +1,23 @@
+// run-pass
+
+#![allow(unused_imports)]
+
+// aux-build:trait_superkinds_in_metadata.rs
+
+// Tests (correct) usage of trait super-builtin-kinds cross-crate.
+
+extern crate trait_superkinds_in_metadata;
+use trait_superkinds_in_metadata::{RequiresRequiresShareAndSend, RequiresShare};
+use trait_superkinds_in_metadata::RequiresCopy;
+use std::marker;
+
+#[derive(Copy, Clone)]
+struct X<T>(#[allow(unused_tuple_struct_fields)] T);
+
+impl<T:Sync> RequiresShare for X<T> { }
+
+impl<T:Sync+Send> RequiresRequiresShareAndSend for X<T> { }
+
+impl<T:Copy> RequiresCopy for X<T> { }
+
+pub fn main() { }