about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-12-18 15:03:32 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-12-19 14:13:19 -0800
commitb982f08a66a76306bf0dae04d8ce053beeec059b (patch)
tree467c9835701d52a541a9748e928d7bc0e83de5a8 /src/test
parent3906823765b1ec241df4906527a990ec945c4392 (diff)
downloadrust-b982f08a66a76306bf0dae04d8ce053beeec059b.tar.gz
rust-b982f08a66a76306bf0dae04d8ce053beeec059b.zip
librustc: Add missing case for the `Pod` bound in `tydecode`.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/auxiliary/kinds_in_metadata.rs9
-rw-r--r--src/test/auxiliary/trait_superkinds_in_metadata.rs1
-rw-r--r--src/test/run-pass/builtin-superkinds-in-metadata.rs3
-rw-r--r--src/test/run-pass/kinds-in-metadata.rs16
4 files changed, 29 insertions, 0 deletions
diff --git a/src/test/auxiliary/kinds_in_metadata.rs b/src/test/auxiliary/kinds_in_metadata.rs
new file mode 100644
index 00000000000..a8f8dbf318d
--- /dev/null
+++ b/src/test/auxiliary/kinds_in_metadata.rs
@@ -0,0 +1,9 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Tests that metadata serialization works for the `Pod` kind.
+
+#[crate_type="lib"];
+
+pub fn f<T:Pod>() {}
+
diff --git a/src/test/auxiliary/trait_superkinds_in_metadata.rs b/src/test/auxiliary/trait_superkinds_in_metadata.rs
index dfb0c0310ec..2345724e8c2 100644
--- a/src/test/auxiliary/trait_superkinds_in_metadata.rs
+++ b/src/test/auxiliary/trait_superkinds_in_metadata.rs
@@ -15,3 +15,4 @@
 
 pub trait RequiresFreeze : Freeze { }
 pub trait RequiresRequiresFreezeAndSend : RequiresFreeze + Send { }
+pub trait RequiresPod : Pod { }
diff --git a/src/test/run-pass/builtin-superkinds-in-metadata.rs b/src/test/run-pass/builtin-superkinds-in-metadata.rs
index e2fc6cc335f..f285275f5e2 100644
--- a/src/test/run-pass/builtin-superkinds-in-metadata.rs
+++ b/src/test/run-pass/builtin-superkinds-in-metadata.rs
@@ -16,6 +16,7 @@
 
 extern mod trait_superkinds_in_metadata;
 use trait_superkinds_in_metadata::{RequiresRequiresFreezeAndSend, RequiresFreeze};
+use trait_superkinds_in_metadata::{RequiresPod};
 
 struct X<T>(T);
 
@@ -23,4 +24,6 @@ impl <T:Freeze> RequiresFreeze for X<T> { }
 
 impl <T:Freeze+Send> RequiresRequiresFreezeAndSend for X<T> { }
 
+impl <T:Pod> RequiresPod for X<T> { }
+
 fn main() { }
diff --git a/src/test/run-pass/kinds-in-metadata.rs b/src/test/run-pass/kinds-in-metadata.rs
new file mode 100644
index 00000000000..857cfccee9b
--- /dev/null
+++ b/src/test/run-pass/kinds-in-metadata.rs
@@ -0,0 +1,16 @@
+// xfail-fast
+// aux-build:kinds_in_metadata.rs
+
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+// Tests that metadata serialization works for the `Pod` kind.
+
+extern mod kinds_in_metadata;
+
+use kinds_in_metadata::f;
+
+pub fn main() {
+    f::<int>();
+}
+