aboutsummaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/generic-temporary.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/run-pass/generic-temporary.rs b/src/test/run-pass/generic-temporary.rs
new file mode 100644
index 00000000..0df8c36e
--- /dev/null
+++ b/src/test/run-pass/generic-temporary.rs
@@ -0,0 +1,21 @@
+
+// xfail-stage0
+
+fn mk() -> int {
+ ret 1;
+}
+
+fn chk(&int a) {
+ log a;
+ check (a == 1);
+}
+
+fn apply[T](fn() -> T produce, fn(&T) consume) {
+ consume(produce());
+}
+
+fn main() {
+ let (fn()->int) produce = mk;
+ let (fn(&int)) consume = chk;
+ apply[int](produce, consume);
+}