diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-02-05 13:59:09 -0800 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-02-05 13:59:09 -0800 |
| commit | 9f0239ce9c24972e8f50b4161130414965886348 (patch) | |
| tree | 82b1a8b1754aa44205db379e7ede7c0b9d8b8c60 | |
| parent | dd510313908dda405235ae769dfa94ed18f715ed (diff) | |
| download | rust-9f0239ce9c24972e8f50b4161130414965886348.tar.gz rust-9f0239ce9c24972e8f50b4161130414965886348.zip | |
add a test where mode inference ought to fail
| -rw-r--r-- | src/test/compile-fail/mode-inference-fail.rs | 11 |
1 files changed, 11 insertions, 0 deletions
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<A>(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 ++ +} |
