about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorSimonas Kazlauskas <git@kazlauskas.me>2016-01-08 01:15:59 +0200
committerSimonas Kazlauskas <git@kazlauskas.me>2016-01-08 01:15:59 +0200
commitea52d9ebdaf0e3f345628152fa387d8a69bef643 (patch)
treebd9934fd2dc4fd33f335d3de5d05a8362c146323 /src/test
parent2edb1d9b96bdf78ee06b73d37f1382a30bc67882 (diff)
downloadrust-ea52d9ebdaf0e3f345628152fa387d8a69bef643.tar.gz
rust-ea52d9ebdaf0e3f345628152fa387d8a69bef643.zip
[MIR] Fix translation of ConstVal::{Struct, Tuple}
Fixes #30772
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/mir_constval_adts.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/run-pass/mir_constval_adts.rs b/src/test/run-pass/mir_constval_adts.rs
new file mode 100644
index 00000000000..8a1f68dbea3
--- /dev/null
+++ b/src/test/run-pass/mir_constval_adts.rs
@@ -0,0 +1,32 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+#![feature(rustc_attrs)]
+
+#[derive(PartialEq, Debug)]
+struct Point {
+    _x: i32,
+    _y: i32,
+}
+const STRUCT: Point = Point { _x: 42, _y: 42 };
+const TUPLE1: (i32, i32) = (42, 42);
+const TUPLE2: (&'static str, &'static str) = ("hello","world");
+
+#[rustc_mir]
+fn mir() -> (Point, (i32, i32), (&'static str, &'static str)){
+    let struct1 = STRUCT;
+    let tuple1 = TUPLE1;
+    let tuple2 = TUPLE2;
+    (struct1, tuple1, tuple2)
+}
+
+fn main(){
+    assert_eq!(mir(), (STRUCT, TUPLE1, TUPLE2));
+}
+