From 9f0239ce9c24972e8f50b4161130414965886348 Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Sun, 5 Feb 2012 13:59:09 -0800 Subject: [PATCH] add a test where mode inference ought to fail --- src/test/compile-fail/mode-inference-fail.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/test/compile-fail/mode-inference-fail.rs diff --git a/src/test/compile-fail/mode-inference-fail.rs b/src/test/compile-fail/mode-inference-fail.rs new file mode 100644 index 00000000000..732c9a4311f --- /dev/null +++ b/src/test/compile-fail/mode-inference-fail.rs @@ -0,0 +1,11 @@ +// In this test, the mode gets inferred to ++ due to the apply_int(), +// but then we get a failure in the generic apply(). + +fn apply(f: fn(A) -> A, a: A) -> A { f(a) } +fn apply_int(f: fn(int) -> int, a: int) -> int { f(a) } + +fn main() { + let f = {|i| i}; + assert apply_int(f, 2) == 2; + assert apply(f, 2) == 2; //! ERROR expected argument mode ++ +}