about summary refs log tree commit diff
path: root/compiler/rustc_parse/src/parser
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-02-09 10:01:48 +0000
committerbors <bors@rust-lang.org>2023-02-09 10:01:48 +0000
commit8deed11af9a49960fcec3bf2b5e43f24dc2a1cf2 (patch)
treef1091bcb4bbc1394acd1fdd777b1b733c785ba26 /compiler/rustc_parse/src/parser
parent0d225bcf1eb270564297c1f094d54a685a5ed08e (diff)
parent73a366673f3cbf12df912bedba4a2a56cc00e793 (diff)
downloadrust-8deed11af9a49960fcec3bf2b5e43f24dc2a1cf2.tar.gz
rust-8deed11af9a49960fcec3bf2b5e43f24dc2a1cf2.zip
Auto merge of #2782 - RalfJung:rustup, r=RalfJung
Rustup
Diffstat (limited to 'compiler/rustc_parse/src/parser')
-rw-r--r--compiler/rustc_parse/src/parser/ty.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/compiler/rustc_parse/src/parser/ty.rs b/compiler/rustc_parse/src/parser/ty.rs
index a19ea04fa5e..5b92563fc35 100644
--- a/compiler/rustc_parse/src/parser/ty.rs
+++ b/compiler/rustc_parse/src/parser/ty.rs
@@ -694,8 +694,9 @@ impl<'a> Parser<'a> {
         // `where`, so stop if it's it.
         // We also continue if we find types (not traits), again for error recovery.
         while self.can_begin_bound()
-            || self.token.can_begin_type()
-            || (self.token.is_reserved_ident() && !self.token.is_keyword(kw::Where))
+            || (self.may_recover()
+                && (self.token.can_begin_type()
+                    || (self.token.is_reserved_ident() && !self.token.is_keyword(kw::Where))))
         {
             if self.token.is_keyword(kw::Dyn) {
                 // Account for `&dyn Trait + dyn Other`.