about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorEduard Burtescu <edy.burt@gmail.com>2016-06-09 00:33:57 +0300
committerEduard Burtescu <edy.burt@gmail.com>2016-06-09 00:33:57 +0300
commit22fa769bc45da67dd6a8a60c4f9ae8b9f7e54e29 (patch)
tree1d3ac7ab035912c620f84205f04676df0880379f /src/test
parent368f6ae8cb03c0986d30af704b64c58a2b87dfe4 (diff)
downloadrust-22fa769bc45da67dd6a8a60c4f9ae8b9f7e54e29.tar.gz
rust-22fa769bc45da67dd6a8a60c4f9ae8b9f7e54e29.zip
trans: don't misuse C_nil for ZSTs other than ().
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/mir_trans_calls.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/test/run-pass/mir_trans_calls.rs b/src/test/run-pass/mir_trans_calls.rs
index 0527f38a9c3..2371909b31b 100644
--- a/src/test/run-pass/mir_trans_calls.rs
+++ b/src/test/run-pass/mir_trans_calls.rs
@@ -30,6 +30,7 @@ fn test2(a: isize) -> isize {
     callee(a)
 }
 
+#[derive(PartialEq, Eq, Debug)]
 struct Foo;
 impl Foo {
     fn inherent_method(&self, a: isize) -> isize { a }
@@ -157,6 +158,19 @@ fn test_fn_ignored_pair_0() {
     test_fn_ignored_pair().0
 }
 
+#[rustc_mir]
+fn id<T>(x: T) -> T { x }
+
+#[rustc_mir]
+fn ignored_pair_named() -> (Foo, Foo) {
+    (Foo, Foo)
+}
+
+#[rustc_mir]
+fn test_fn_ignored_pair_named() -> (Foo, Foo) {
+    id(ignored_pair_named())
+}
+
 fn main() {
     assert_eq!(test1(1, (2, 3), &[4, 5, 6]), (1, (2, 3), &[4, 5, 6][..]));
     assert_eq!(test2(98), 98);
@@ -181,4 +195,5 @@ fn main() {
     assert_eq!(test_fn_transmute_zst(()), [()]);
 
     assert_eq!(test_fn_ignored_pair_0(), ());
+    assert_eq!(test_fn_ignored_pair_named(), (Foo, Foo));
 }