about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2017-10-15 01:55:18 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2018-01-27 22:37:30 +0300
commit873b77531cdfefa38024f84532ca0083e8f17e3a (patch)
tree7c2ded9f5f2fdab9878dfaaae68dd175d9fd0e2c /src/libsyntax/parse
parent6b99adeb11313197f409b4f7c4083c2ceca8a4fe (diff)
downloadrust-873b77531cdfefa38024f84532ca0083e8f17e3a.tar.gz
rust-873b77531cdfefa38024f84532ca0083e8f17e3a.zip
syntax: Lower priority of `+` in `impl Trait`/`dyn Trait`
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/parser.rs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index d393cab4718..8fffe0a8697 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -1614,13 +1614,12 @@ impl<'a> Parser<'a> {
                 self.parse_remaining_bounds(lifetime_defs, path, lo, parse_plus)?
             }
         } else if self.eat_keyword(keywords::Impl) {
-            // FIXME: figure out priority of `+` in `impl Trait1 + Trait2` (#34511).
-            TyKind::ImplTrait(self.parse_ty_param_bounds()?)
+            TyKind::ImplTrait(self.parse_ty_param_bounds_common(allow_plus)?)
         } else if self.check_keyword(keywords::Dyn) &&
                   self.look_ahead(1, |t| t.can_begin_bound() && !can_continue_type_after_ident(t)) {
-            // FIXME: figure out priority of `+` in `dyn Trait1 + Trait2` (#34511).
             self.bump(); // `dyn`
-            TyKind::TraitObject(self.parse_ty_param_bounds()?, TraitObjectSyntax::Dyn)
+            TyKind::TraitObject(self.parse_ty_param_bounds_common(allow_plus)?,
+                                TraitObjectSyntax::Dyn)
         } else if self.check(&token::Question) ||
                   self.check_lifetime() && self.look_ahead(1, |t| t == &token::BinOp(token::Plus)) {
             // Bound list (trait object type)