diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-02-20 18:04:57 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-02-21 08:29:48 -0800 |
| commit | c0defda4994b2cf292901c24bef88b37a088861e (patch) | |
| tree | 07d17e8e78042ffcc42adcb40f80689431bff855 /src/libsyntax/parse | |
| parent | bf2a225c0b6f90f61bcaf4a6f33d9eaf424795b6 (diff) | |
| download | rust-c0defda4994b2cf292901c24bef88b37a088861e.tar.gz rust-c0defda4994b2cf292901c24bef88b37a088861e.zip | |
librustc: Separate the rest of the trait bounds with `+` and stop parsing space-separated ones. rs=plussing
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 9 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 8 |
2 files changed, 14 insertions, 3 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index bf04996838c..f5ee5bd8029 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -46,7 +46,8 @@ pub enum ObsoleteSyntax { ObsoleteBinaryMove, ObsoleteUnsafeBlock, ObsoleteUnenforcedBound, - ObsoleteImplSyntax + ObsoleteImplSyntax, + ObsoleteTraitBoundSeparator, } pub impl to_bytes::IterBytes for ObsoleteSyntax { @@ -120,7 +121,11 @@ pub impl Parser { ObsoleteImplSyntax => ( "colon-separated impl syntax", "write `impl Trait for Type`" - ) + ), + ObsoleteTraitBoundSeparator => ( + "space-separated trait bounds", + "write `+` between trait bounds" + ), }; self.report(sp, kind, kind_str, desc); diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 644d6ed5189..85b4eae25d3 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -75,6 +75,7 @@ use parse::obsolete::{ObsoleteMoveInit, ObsoleteBinaryMove}; use parse::obsolete::{ObsoleteStructCtor, ObsoleteWith}; use parse::obsolete::{ObsoleteSyntax, ObsoleteLowerCaseKindBounds}; use parse::obsolete::{ObsoleteUnsafeBlock, ObsoleteImplSyntax}; +use parse::obsolete::{ObsoleteTraitBoundSeparator}; 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}; @@ -2676,7 +2677,12 @@ pub impl Parser { } if self.eat(token::BINOP(token::PLUS)) { - // Should be `break;` but that isn't backwards compatible. + loop; + } + + if is_ident_or_path(self.token) { + self.obsolete(copy self.span, + ObsoleteTraitBoundSeparator); } } } |
