about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorBrian Anderson <banderson@mozilla.com>2011-10-16 16:19:12 -0700
committerBrian Anderson <banderson@mozilla.com>2011-10-20 18:23:48 -0700
commit391e12124b4ee96849b8b5959c2cab824400a384 (patch)
tree3fa064c4121e80f29bdd779575f29707e5f61201 /src/test
parent342a400e79c44e8035b944129617734009a5abcb (diff)
downloadrust-391e12124b4ee96849b8b5959c2cab824400a384.tar.gz
rust-391e12124b4ee96849b8b5959c2cab824400a384.zip
Tweak typecheck to enforce covariance on higher-order function arguments
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/block-coerce-no-2.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/test/compile-fail/block-coerce-no-2.rs b/src/test/compile-fail/block-coerce-no-2.rs
new file mode 100644
index 00000000000..926e39529ea
--- /dev/null
+++ b/src/test/compile-fail/block-coerce-no-2.rs
@@ -0,0 +1,14 @@
+// error-pattern: mismatched types
+
+// Make sure that fn-to-block coercion isn't incorrectly lifted over
+// other tycons.
+
+fn main() {
+    fn f(f: fn(fn(fn()))) {
+    }
+
+    fn g(f: fn(block())) {
+    }
+
+    f(g);
+}