summaryrefslogtreecommitdiffstats
path: root/src/test/ui/mir/mir_cast_fn_ret.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/mir/mir_cast_fn_ret.rs')
-rw-r--r--src/test/ui/mir/mir_cast_fn_ret.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/mir/mir_cast_fn_ret.rs b/src/test/ui/mir/mir_cast_fn_ret.rs
new file mode 100644
index 000000000..4574dbd85
--- /dev/null
+++ b/src/test/ui/mir/mir_cast_fn_ret.rs
@@ -0,0 +1,23 @@
+// run-pass
+#[allow(improper_ctypes_definitions)]
+pub extern "C" fn tuple2() -> (u16, u8) {
+ (1, 2)
+}
+
+#[allow(improper_ctypes_definitions)]
+pub extern "C" fn tuple3() -> (u8, u8, u8) {
+ (1, 2, 3)
+}
+
+pub fn test2() -> u8 {
+ tuple2().1
+}
+
+pub fn test3() -> u8 {
+ tuple3().2
+}
+
+fn main() {
+ assert_eq!(test2(), 2);
+ assert_eq!(test3(), 3);
+}