diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-03-22 14:51:35 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-03-22 22:24:35 -0700 |
| commit | 68cb53672b74e8b4352453e181667848cd63a183 (patch) | |
| tree | 6569d209622f27f450785080563b982a51e92726 /src/libsyntax/parse | |
| parent | 85c9fc6f8f59c146c44aacb4b9abfb2c35e16089 (diff) | |
| download | rust-68cb53672b74e8b4352453e181667848cd63a183.tar.gz rust-68cb53672b74e8b4352453e181667848cd63a183.zip | |
libsyntax: Stop parsing `const`.
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 6 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index a987ae948a4..0f4de9257c9 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -60,6 +60,7 @@ pub enum ObsoleteSyntax { ObsoleteConstManagedPointer, ObsoletePurity, ObsoleteStaticMethod, + ObsoleteConstItem, } impl to_bytes::IterBytes for ObsoleteSyntax { @@ -203,6 +204,11 @@ pub impl Parser { "`static` notation", "`static` is superfluous; remove it" ), + ObsoleteConstItem => ( + "`const` item", + "`const` items are now `static` items; replace `const` with \ + `static`" + ), }; self.report(sp, kind, kind_str, desc); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 6f2c0f7ddf5..b7cc0b35023 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -81,6 +81,7 @@ use parse::obsolete::{ObsoleteBareFnType, ObsoleteNewtypeEnum}; use parse::obsolete::{ObsoleteMode, ObsoleteImplicitSelf}; use parse::obsolete::{ObsoleteLifetimeNotation, ObsoleteConstManagedPointer}; use parse::obsolete::{ObsoletePurity, ObsoleteStaticMethod}; +use parse::obsolete::{ObsoleteConstItem}; use parse::prec::{as_prec, token_to_binop}; use parse::token::{can_begin_expr, is_ident, is_ident_or_path}; use parse::token::{is_plain_ident, INTERPOLATED, special_idents}; @@ -3563,7 +3564,9 @@ pub impl Parser { let lo = self.span.lo; // XXX: Obsolete; remove after snap. - if !self.eat_keyword(&~"const") { + if self.eat_keyword(&~"const") { + self.obsolete(*self.last_span, ObsoleteConstItem); + } else { self.expect_keyword(&~"static"); } @@ -3959,6 +3962,9 @@ pub impl Parser { (self.is_keyword(&~"static") && !self.token_is_keyword(&~"fn", &self.look_ahead(1)))) { // CONST ITEM + if self.is_keyword(&~"const") { + self.obsolete(*self.span, ObsoleteConstItem); + } self.bump(); let (ident, item_, extra_attrs) = self.parse_item_const(); return iovi_item(self.mk_item(lo, self.last_span.hi, ident, item_, |
