about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/auto-deref-fn.rs1
-rw-r--r--src/test/run-pass/call-autoderef-tag.rs11
2 files changed, 12 insertions, 0 deletions
diff --git a/src/test/run-pass/auto-deref-fn.rs b/src/test/run-pass/auto-deref-fn.rs
index 6959e8e109f..8637c7d03d6 100644
--- a/src/test/run-pass/auto-deref-fn.rs
+++ b/src/test/run-pass/auto-deref-fn.rs
@@ -8,4 +8,5 @@ fn main() {
     assert(f(5) == 6);
     assert(g(8) == 9);
     assert(h(0x1badd00d) == 0x1badd00e);
+    assert((@add1)(42) == 43);
 }
diff --git a/src/test/run-pass/call-autoderef-tag.rs b/src/test/run-pass/call-autoderef-tag.rs
new file mode 100644
index 00000000000..3826b9a409c
--- /dev/null
+++ b/src/test/run-pass/call-autoderef-tag.rs
@@ -0,0 +1,11 @@
+// xfail-stage0
+tag int_fn { f(fn(int) -> int); }
+tag int_box_fn { fb(@fn(int) -> int); }
+fn add1(int i) -> int { ret i+1; }
+fn main() {
+    auto g = f(add1);
+    assert(g(4) == 5);
+    assert((f(add1))(5) == 6);
+    assert((@(f(add1)))(5) == 6);
+    assert((fb(@add1))(7) == 8);
+}