aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/expr-if-struct.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/run-pass/expr-if-struct.rs b/src/test/run-pass/expr-if-struct.rs
new file mode 100644
index 00000000..df20a3ba
--- /dev/null
+++ b/src/test/run-pass/expr-if-struct.rs
@@ -0,0 +1,24 @@
+// xfail-boot
+// -*- rust -*-
+
+// Tests for if as expressions returning structural types
+
+fn test_rec() {
+ auto res = if (true) { rec(i = 100) } else { rec(i = 101) };
+ check (res == rec(i = 100));
+}
+
+fn test_tag() {
+ tag mood {
+ happy;
+ sad;
+ }
+
+ auto res = if (true) { happy } else { sad };
+ check (res == happy);
+}
+
+fn main() {
+ test_rec();
+ test_tag();
+} \ No newline at end of file