about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2015-02-28 13:56:29 +0530
committerManish Goregaokar <manishsmail@gmail.com>2015-02-28 19:19:00 +0530
commit040a811b9190d2c2c595e09b5d1db07bedffdde9 (patch)
treebe5796c6b76fbaf78d79006b8086f7052133a1e7 /src/test
parent37760c1f25fc55814a92cce1c98edefdc0740188 (diff)
parent7ad2e22e4ee1cfc5c6c4a53a6d19f2b853de1c6e (diff)
downloadrust-040a811b9190d2c2c595e09b5d1db07bedffdde9.tar.gz
rust-040a811b9190d2c2c595e09b5d1db07bedffdde9.zip
Rollup merge of #22884 - japaric:obsolete, r=alexcrichton
 This is leftover from #21843

If you still have `|&:| {}` closures in your code, simply remove the `&:` part.

[breaking-change]
Diffstat (limited to 'src/test')
-rw-r--r--src/test/parse-fail/obsolete-closure-kind.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/test/parse-fail/obsolete-closure-kind.rs b/src/test/parse-fail/obsolete-closure-kind.rs
new file mode 100644
index 00000000000..89134e806a7
--- /dev/null
+++ b/src/test/parse-fail/obsolete-closure-kind.rs
@@ -0,0 +1,18 @@
+// Copyright 2015 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.
+
+// Test that we generate obsolete syntax errors around usages of closure kinds: `|:|`, `|&:|` and
+// `|&mut:|`.
+
+fn main() {
+    let a = |:| {};  //~ ERROR obsolete syntax: `:`, `&mut:`, or `&:`
+    let a = |&:| {};  //~ ERROR obsolete syntax: `:`, `&mut:`, or `&:`
+    let a = |&mut:| {};  //~ ERROR obsolete syntax: `:`, `&mut:`, or `&:`
+}