about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorFlorian Hahn <flo@fhahn.com>2013-08-27 23:48:02 +0200
committerFlorian Hahn <flo@fhahn.com>2013-08-28 10:12:28 +0200
commit8557219cd85808d308ff954be31bfbab3e4f65f4 (patch)
treebbf342da0a581b8f0959e98def039f51012caf3c /src/test
parent35f975b83881106e0fde729b8c1361c9cf6d2778 (diff)
downloadrust-8557219cd85808d308ff954be31bfbab3e4f65f4.tar.gz
rust-8557219cd85808d308ff954be31bfbab3e4f65f4.zip
Add tests for ref in closure parameter list, closes #5239
Diffstat (limited to 'src/test')
-rw-r--r--src/test/compile-fail/issue-5239-1.rs15
-rw-r--r--src/test/run-pass/issue-5239-2.rs17
2 files changed, 32 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-5239-1.rs b/src/test/compile-fail/issue-5239-1.rs
new file mode 100644
index 00000000000..97317ec762a
--- /dev/null
+++ b/src/test/compile-fail/issue-5239-1.rs
@@ -0,0 +1,15 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Regression test for issue #5239
+
+fn main() {
+    let x: &fn(int) -> int = |ref x| { x += 1; }; //~ ERROR binary operation + cannot be applied to type `&int`
+}
diff --git a/src/test/run-pass/issue-5239-2.rs b/src/test/run-pass/issue-5239-2.rs
new file mode 100644
index 00000000000..dac3c95e08a
--- /dev/null
+++ b/src/test/run-pass/issue-5239-2.rs
@@ -0,0 +1,17 @@
+// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// Regression test for issue #5239
+
+fn main() { 
+    let _f: &fn(int) -> int = |ref x: int| { *x };
+    let foo = 10;
+    assert!(_f(foo) == 10);
+}