about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-11-19 18:15:10 -0800
committerPatrick Walton <pcwalton@mimiga.net>2013-11-26 08:20:59 -0800
commit6801bc8f552ce740deb60212903ba43de197689c (patch)
tree78a1648fe19ea8b24fe0eae4472411d531d834ba /src/libsyntax/parse
parent9e610573ba285619c9a59d8c1468624b6428492c (diff)
downloadrust-6801bc8f552ce740deb60212903ba43de197689c.tar.gz
rust-6801bc8f552ce740deb60212903ba43de197689c.zip
libsyntax: Remove the old-style borrowed closure type syntax from the
language.
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/obsolete.rs6
-rw-r--r--src/libsyntax/parse/parser.rs3
2 files changed, 8 insertions, 1 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index 3adedf76eb8..8e291ca6705 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -43,6 +43,7 @@ pub enum ObsoleteSyntax {
     ObsoleteStructWildcard,
     ObsoleteVecDotDotWildcard,
     ObsoleteBoxedClosure,
+    ObsoleteClosureType,
 }
 
 impl to_bytes::IterBytes for ObsoleteSyntax {
@@ -134,6 +135,11 @@ impl ParserObsoleteMethods for Parser {
                 "managed closures have been removed and owned closures are \
                  now written `proc()`"
             ),
+            ObsoleteClosureType => (
+                "closure type",
+                "closures are now written `|A| -> B` rather than `&fn(A) -> \
+                 B`."
+            ),
         };
 
         self.report(sp, kind, kind_str, desc);
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index 7de8e3087c8..5db26dd99dd 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1286,7 +1286,7 @@ impl Parser {
                 return self.parse_ty_closure(Some(sigil), Some(lifetime));
             }
 
-            token::IDENT(*) if sigil == ast::BorrowedSigil => {
+            token::IDENT(*) => {
                 if self.token_is_old_style_closure_keyword() {
                     self.obsolete(*self.last_span, ObsoleteBoxedClosure);
                     return self.parse_ty_closure(Some(sigil), None);
@@ -1311,6 +1311,7 @@ impl Parser {
         let opt_lifetime = self.parse_opt_lifetime();
 
         if self.token_is_old_style_closure_keyword() {
+            self.obsolete(*self.last_span, ObsoleteClosureType);
             return self.parse_ty_closure(Some(BorrowedSigil), opt_lifetime);
         }